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.

Odpovedet emailem