Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 9. diel - Programovanie jednoduchých Java GUI hier - Detekcia kolízií

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
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)
Editované
Odpovedať
Zase jsem o něco chytřejší
Avatar
vita
Tvůrce
Avatar
Odpovedá 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. októbra 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;
}

Odpovedať
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.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 3 správy z 3.