Mikuláš je tady! Získej 90 % extra kreditů ZDARMA s promo kódem CERTIK90 při nákupu od 1199 kreditů. Pouze do neděle 7. 12. 2025! Zjisti více:
NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 9 - Programování jednoduchých Java GUI her - Detekce kolizí

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Ondrca
Tvůrce
Avatar
Ondrca:28.9.2013 14:27

Ahoj, mám něco podobnýho:

public void keyPressed(KeyEvent e) {
        int klavesa = e.getKeyCode();
        if (klavesa == KeyEvent.VK_LEFT) {
       smer.setText("left");
        } else if (klavesa == KeyEvent.VK_UP) {
smer.setText("up");
        } else if (klavesa == KeyEvent.VK_RIGHT) {
smer.setText("right");
        } else if (klavesa == KeyEvent.VK_DOWN) {
smer.setText("down");
        }
    }

mám to ve stejný třídě.
Poradíte mi prosím jak změnit text JLabel po stisknutí šipky na klávesnici, který mám nadefinovaný v hlavní třídě

public static void main(String[] args)
Editováno
Odpovědět
Zase jsem o něco chytřejší
Avatar
vita
Tvůrce
Avatar
Odpovídá na Ondrca
vita:8.10.2013 15:35

Pokud má výše uvedený kód fungovat, tak smer je název proměnné typu JLabel, na které voláš její metodu setText(). V tom případě tento kód musí být umístěn ve třídě, která dědí z JPanelu a taktéž implementuje rozhraní KeyListener.

Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:14. října 13:13

Toto není taková hrůza, ale... četl si autor po sobě ten tutorial?
public int getSIRKA_PANELU() {
return this.getWidth();
}

public int getVYSKA_PANELU() {
return this.getHeight();
}
}

A pak popisuje:
public int getSIRKA_PANELU() {
return SIRKA_PANELU;
}

public int getVYSKA_PANELU() {
return VYSKA_PANELU;
}

Odpovědět
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.