Klávesnice a grafický výstup

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Odpovědět
Fantomas
Level 2
Level 2
Příspěvky: 163
Registrován: 24 říj 2012 19:45

Klávesnice a grafický výstup

Příspěvek od Fantomas »

Ahoj,

chci se zeptat, kde mám chybu. Část programu má zčásti spočívat v tom, že po stisknutí klávesy ESC má něco udělat (v mém případě vypisuju do konzole "ahoj"). Program dělám v javě AWT.

Kód: Vybrat vše

 addKeyListener(new KeyAdapter() {

            @Override
            public void keyPressed(KeyEvent e) {
              int stiskKlavesy = e.getKeyChar();
                if (stiskKlavesy==KeyEvent.VK_ALT) {
                   
                    System.out.println("ahoj");
                    }
                }
        });
Do konzole mi to nic nevypisuje ani nedělá žádné jiné požadované úkony v grafickém prostředí. Prostě mi to klávesnici úplně ignoruje... :-(

Díky za pomoc!
Uživatelský avatar
domitea
Tvůrce článků
Příspěvky: 1971
Registrován: 24 čer 2009 19:46
Bydliště: Královehradecký kraj
Kontaktovat uživatele:

Re: Klávesnice a grafický výstup

Příspěvek od domitea »

Nepoužíváš náhodou Swing?

Možná by pomohl RequestFocus - pohledej Javadoc
Fantomas
Level 2
Level 2
Příspěvky: 163
Registrován: 24 říj 2012 19:45

Re: Klávesnice a grafický výstup

Příspěvek od Fantomas »

ano, používám, ale stále si vůbec nevím rady... ať to zkouším jak to zkouším, stále se nic neděje :(
Uživatelský avatar
domitea
Tvůrce článků
Příspěvky: 1971
Registrován: 24 čer 2009 19:46
Bydliště: Královehradecký kraj
Kontaktovat uživatele:

Re: Klávesnice a grafický výstup

Příspěvek od domitea »

A ten requestFocus ?
Fantomas
Level 2
Level 2
Příspěvky: 163
Registrován: 24 říj 2012 19:45

Re: Klávesnice a grafický výstup

Příspěvek od Fantomas »

ne pořád nic... :(

mám tohle:

Kód: Vybrat vše

  addKeyListener(new KeyAdapter() {

            @Override
            public void keyTyped(KeyEvent e) {
                
              int stiskKlavesy = e.getKeyCode();
                if (stiskKlavesy==KeyEvent.VK_ESCAPE) {
                    System.out.println("ahoj");
                    
                    requestFocus();
                    }
                }
            
            });
        
pak mám ještě otázku, když budu chtít v programu udělat nějakou událost při stisknutí klávesnice a zároveň tlačítka myši, jak to mám implementovat? vždy mám totiž metodu buď pro klávesnici nebo pro myš, ale nevím jak to dát dohromady...
Uživatelský avatar
domitea
Tvůrce článků
Příspěvky: 1971
Registrován: 24 čer 2009 19:46
Bydliště: Královehradecký kraj
Kontaktovat uživatele:

Re: Klávesnice a grafický výstup

Příspěvek od domitea »

Ten request focus musí být mimo ten listener...
Fantomas
Level 2
Level 2
Příspěvky: 163
Registrován: 24 říj 2012 19:45

Re: Klávesnice a grafický výstup

Příspěvek od Fantomas »

Tak jsem to dal mimo listener, ale stejně neúspěch. Ať se dívám kam se dívám, tak bych to mám správně, ale nefunguje to.... Nemám použít jinou třidu? Stisk ukládám jako int a pak to to ověřuji s hodnotou ESC v KeyEventu, kde je napsáno toto:

Kód: Vybrat vše

public static final int VK_ESCAPE         = 0x1B;
Kód zatím vyprodukovaný:

Kód: Vybrat vše

addKeyListener(new KeyAdapter() {

            @Override
            public void keyPressed(KeyEvent e) {
                
              int stiskKlavesy = e.getKeyCode();
                if (stiskKlavesy==KeyEvent.VK_ESCAPE) {
                    System.out.println("ahoj");
                  
                    }
                }
            
            });
        
        
        
        requestFocus();
            
Uživatelský avatar
rhsCZ
Level 4
Level 4
Příspěvky: 1400
Registrován: 02 čer 2013 12:03
Kontaktovat uživatele:

Re: Klávesnice a grafický výstup

Příspěvek od rhsCZ »

javě sice nerozumím ale nechybí ty zde závorka?

Kód: Vybrat vše

addKeyListener(new KeyAdapter() {
  

„Zeptáš-li se, budeš 5 minut vypadat jako blbec. Nezeptáš-li se, budeš blbcem po celý život.“ - Čínské přísloví
„Mnozí z těch, co žijí, by zasluhovali smrt. A mnozí z těch, co zemřeli, by si zasloužili žít.“ - John Ronald Reuel Tolkien
„Je lepší být nenáviděn pro to, jaký jsi, než být milován pro to, co nejsi.“ - Kurt Cobain
https://rhscz.eu
https://github.com/rhsCZ
Fantomas
Level 2
Level 2
Příspěvky: 163
Registrován: 24 říj 2012 19:45

Re: Klávesnice a grafický výstup

Příspěvek od Fantomas »

nene, neschází. Celé to začíná "(", kde se deklaruje celý kód výše zmíněný a pak si dole všimni toho ");".
Uživatelský avatar
domitea
Tvůrce článků
Příspěvky: 1971
Registrován: 24 čer 2009 19:46
Bydliště: Královehradecký kraj
Kontaktovat uživatele:

Re: Klávesnice a grafický výstup

Příspěvek od domitea »

rhs: anonymní vnitřní třída, dělá pěkný guláš :lol:

Fatomas: Pošli raději rovnou celý kód, ono se takhle moc radit nedá ;)
Fantomas
Level 2
Level 2
Příspěvky: 163
Registrován: 24 říj 2012 19:45

Re: Klávesnice a grafický výstup

Příspěvek od Fantomas »

tak funkce mi již funguje. Vše to bylo tím, že jsem nezapnul focus (setFocusable(true) ) na začátku konstruktoru. Díky.
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Start bez klávesnice
    od zik9 » » v Windows 11, 10, 8...
    2 Odpovědi
    7389 Zobrazení
    Poslední příspěvek od zik9
  • tichá klávesnice
    od Johny1988 » » v Rady s výběrem hw a sestavením PC
    1 Odpovědi
    6332 Zobrazení
    Poslední příspěvek od Alferi
  • Výběr klávesnice do 1500 kč
    5 Odpovědi
    11618 Zobrazení
    Poslední příspěvek od meda2016
  • Politá klávesnice u MacBook Air m4
    od HelFix » » v Problémy s hardwarem
    7 Odpovědi
    11254 Zobrazení
    Poslední příspěvek od HelFix
  • Klávesnice - verze s úzkým levým Shiftem?
    od Grander » » v Rady s výběrem hw a sestavením PC
    0 Odpovědi
    3611 Zobrazení
    Poslední příspěvek od Grander

Zpět na „Programování a tvorba webu“