Rysowanie w Image poza paint

0

Problem wygląda następująco chciał bym wstawić obrazek do komponentu Image nie korzystając z metody paint obecnie robię to tak :

public void paint(Graphics g){

img1 = getImage(getDocumentBase(), "3_13.gif");	
g.drawImage(img1,200+(15*i), 200, this);

}

metoda co prawda działa ale jak widać musze używać metody paint.
Rozwiązania szukałem dość długo ale we wszystkich poradnikach na które się natknąłem jest opisana właśnie taka metoda rysowania w Image.

0

pytanie już nieaktualne znalazłem odpowiedź [green]
a wygląda to tak :

Image z100;
public void metoda() {

	Graphics tlo = getGraphics();	

	

	z100 = getImage(getDocumentBase(), "z100.gif");
	tlo.drawImage(z100,10, 530, this);
}
0

... i nie paint tylko paintComponent!
to bardzo WAZNE a jednak zawsze wszyscy daja to paint.. :|
no ze o super.paintComponent(g) jako pierwszej linijce nie wspomne...

pozdrawaim

0

jeśli chodzi ci o to że metoda powinna nazywać się paintComponent(g) to pierwsze słyszę w szkole zawsze piszemy paint po prostu :D
a to super to już w ogóle nie wiem po co he he ;]

0
Rysownik napisał(a)

jeśli chodzi ci o to że metoda powinna nazywać się paintComponent(g) to pierwsze słyszę w szkole zawsze piszemy paint po prostu :D
a to super to już w ogóle nie wiem po co he he ;]

zalamka

0

Mam pytanie:
Wg mnie lepiej stosować paintComponent() ponieważ przy wielu akcjach automatycznie wyzwala się - a ten uruchamia painta(), a nie zawsze chcemy żeby nam zaraz malował, zgadza się?
Czy ktoś może ma inne zdanie? [???] :-/

0

@seismic, różnica jest niewielka i wynika z hierarchi klas. Metoda paint wywodzi się z klasy java.awt.Component i jest najbardziej bazową metodą rysującą. metoda paintComponent wywodzi się z klasy javax.swing.JComponent. Co dzieję się pomiędzy tymi wywołaniami ? tajemina Suna, ale ten artykuł:
http://java.sun.com/products/jfc/tsc/articles/painting/index.html
Wyjaśnia o co w tym wszytkim chodzi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1