hallo,
ich habe eine Klasse:
Allerdings reagiert sie nicht auf Eingaben, d.h. sie hat keinen Fokus. Das funktioniert nur, wenn das
Fenster geöffnet ist und markiert, dann schliesst es sich bei Tastendruck.
Wenn es allerdings nicht da ist, kann ich es nicht per Tastendruck öffnen..
Ich dachte dieses setFocusable(true) sorgt dafür, dass ich es kann? Habe es auch schon mit
getContentPane().setFocusable(true) versucht aber geht auch nicht...
Wie muss ich das denn jetzt machen?
edit:
beim versuch es anders zu lösen ist mir grad was aufgefallen, was ich bisher gar nicht so realisert hatte:
wieso kann den bitte schön ein thread keinen keylistener haben?
ich meine kann man denn nicht ein prog schreiben dass einfach auf tastendruck was macht, ohne ein fenster zu haben, in etwa so:
Is sowas nich möglich, kann ja eigentlich nicht sein oder?
ich habe eine Klasse:
Code:
class Console extends JFrame implements Runnable, KeyListener{
public Console() {
addKeyListener(this);
setFocusable(true);
}
public void trigger() {
if (!isVisible()) {
setVisible(true);
} else {
setVisible(false);
dispose();
}
}
...
public void keyTyped(KeyEvent e) {
trigger();
}
}
Allerdings reagiert sie nicht auf Eingaben, d.h. sie hat keinen Fokus. Das funktioniert nur, wenn das
Fenster geöffnet ist und markiert, dann schliesst es sich bei Tastendruck.
Wenn es allerdings nicht da ist, kann ich es nicht per Tastendruck öffnen..
Ich dachte dieses setFocusable(true) sorgt dafür, dass ich es kann? Habe es auch schon mit
getContentPane().setFocusable(true) versucht aber geht auch nicht...
Wie muss ich das denn jetzt machen?
edit:
beim versuch es anders zu lösen ist mir grad was aufgefallen, was ich bisher gar nicht so realisert hatte:
wieso kann den bitte schön ein thread keinen keylistener haben?
ich meine kann man denn nicht ein prog schreiben dass einfach auf tastendruck was macht, ohne ein fenster zu haben, in etwa so:
Code:
public class Prog extends Thread implements KeyListener{
addKeyListener(this) // <-- Wieso geht das nicht ??
public void run{
while(true){
sleep(10);
}
}
public keyTyped(KeyEvent e){
System.out.println("Taste gedrückt");
}
}
Is sowas nich möglich, kann ja eigentlich nicht sein oder?