Šta je novo?

Java: Iscrtavanje Slike problem

Che_Guevara

Čuven
Učlanjen(a)
15.05.2002
Poruke
108
Poena
619
Kao sto kaze tema imam problema sa iscrtavanjem slike na prozoru koji sam kreirao.
Naime,
napravio sam jednu klasu:
public class Patient extends JPanel {}

opis: Ispisuje tacno odredjenu sliku i ima par metoda medju kojima je i metoda moveImageTo(int x, int y) kojom mozes sliku pomeriti po zadanim koordinatama x,y.

i drugu klasu
public class MainWindow extends Frame implements KeyListener {}

Kao sto i sama klasa kaze, to je glavni prozor, prikazuje jedan objekat tipa Patient i slusa tastaturu, tacnije strelice na tastaturi i po njima poziva gorepomuniti komandu moveImageTo() i pomera sliku u zeljenom smeru.

MainWindow sam podesio sa: setPreferredSize(new Dimension(900, 650));

Program mi lepo ispisuje sliku, lepo pomera sliku, ALI:

Kada dodje do x=400 ili do y=264 ne iscrtava vise sliku iako po svim kontrolnim ispisima trenutnih koordinata (postavio sam ih ne bi li proverio da li sve radi) sve radi kako valja.
Tacnije, kada hoces da ides na desno, malo posle 400 program sliku suzi po horizontali i takva slika ostaje koliko god ti pritiskao desnu strelicu.

Napravio sam i dodatnu proveru. Ako sam stavis sliku na neko mesto oko x>=400 direktno, lepo ga iscrta. Ako for ciklusom pomeram sliku od 0 do 500, onda se zaglavi na 400.

Provaljujem da je u pitanju neko ogranicenje do 400,264 koje je po defaultu ili ne znam sta vec. Jer neko zna sta bi to moglo biti?
Fala puno unapred.
 
ajd da ja odgovorim.
Ne znam koji je bio problem ali sam nasao zaobilaznicu (workaround).

da bi pomerao sliku ja sam podesio globalne varijable u klasi da budu koordinate za sliku koja se iscrtava u paintComponent metodi. Namestajuci te globalne varijable, sa repaint() sam pomerao sliku. E tako ne radi.

Umesto da pomeram sliku, mogu da pomeram ceo JPanel. tako sam umesto koriscenja tih globalnih koordinata, koristio metodu, this.setLocation(x,y).

Ionako sam celu klasu i planirao da imam samo za sliku, tako da mi ovo potpuno odgovara.

Jedino sto sada primecujem da mi treperi slika kada je pomeram tastaturom, ali sam vec citao o tom problemu na internetu (smernica: BufferedImage), tako da to nije problem.

Fala i pozdrav!
 
Nazad
Vrh Dno