Bohuzel tady chybi to nejdulezitejsi, a to, v jake casti kodu delate ty
kejkle s Thread.sleep(). Pokud to delate v tzv. AWT vlakne (napr. v
nejake udalosti) tak na celou tu vterinu zabranite prekreslovani - karta
se sice otoci, ale neprekreslise - AWT thread, ktery za kresleni
zodpovida je blokovany. Zkuste tu udalost vyvolat a pak treba zahybat
rychle oknem - pokud se neprekresluje, je chyba prave v tom.
Na podobne divociny budete potrebovat nejaky jiny thread. Mrknete treba
na http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html
Peter Rakár napsal(a):
Zdravim,
dufam, ze sa najde vela skusenych jedincov co mi pomozu :) V mojom
programe potrebujem po kliknuti na obrazok prekreslit dany obrazok s
casovym oneskorenim. Obrazok je v komponente JLabel...
---------------------------------------------------------
...
karta.otoc(); //karta je otocena na zadnu stranu a chcem ju otocit na
prednu stranu a po sekunde naspat na zadnu. V tomto mieste je chyba
pretoze kartu neotoci a
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
karta.otoc();
...
---------------------------------------------------------
public void otoc(){
otocena = !otocena;
setObrazek();
}
---------------------------------------------------------
private void setObrazek(){
this.removeAll();
if (otocena) {
this.setIcon(front);
} else {
this.setIcon(back);
}
repaint();
}
---------------------------------------------------------
takto mi to nefunguje a neviem kde je chyba :(
--
S pozdravem,
Tomas Zverina
Multimedia atelier s.r.o.
Na Dolinách 4
147 00 Praha 4
IČO: 25127071
tel.: 241 433 120
e-mail: [EMAIL PROTECTED]
http://www.m-atelier.cz/
Společnost Multimedia atelier s.r.o. je zapsána u rejstříkového soudu v
Praze, oddíl C, vložka 51961.