JavaFX KeyListener zum Fenster öffnen/schließen

foerster7891

Aktives Mitglied
Hi,

ich habe folgendes Problem:
ich möchte zwei EventHandler zu meiner GUI hinzufügen welche überprüfen ob eine Taste gedrückt bzw. losgelassen wird.
Wenn die Taste gedrückt wird soll ein neues Fenster geöffnet werden und wenn sie losgelassen wird soll dieses wieder geschlossen werden.
Das Problem ist, dass wenn ich das Fenster mit der Taste öffne liegt der Fokus auf dem neu geöffneten Fenster und nicht mehr auf dem mit dem Listener, so dass er gar nicht merkt, dass die Taste wieder losgelassen wird.

Da das Fenster nur Informationen anzeigt wollte ich gerne wissen ob es irgendwie möglich ist zu verhindern, dass dieses Fenster angewählt werden kann bzw in den Vordergrund rückt bzw. generell egal welches Fenster im Vordergrund ist wieder geschlossen wird beim "release" der Taste?
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Ich weiß nicht, ob es diese Methode auch in JavaFX gibt: setFocusable(false);
Oder du reichst das Event an die Hauptklasse weiter.
 

foerster7891

Aktives Mitglied
Nein, scheint es nicht zu geben, bzw. es gab mal etwas derartiges wird mir allerdings als veraltet angezeigt und funktioniert auch nicht - also der Fokus geht trotzdem verloren!

Ich hab absolut keine Idee wie ich das Problem lösen kann - zumindest bisher nicht.
 

foerster7891

Aktives Mitglied
Jaein,

also erstmal Danke, da es mich durchaus ein Stück weitergebracht hat, allerdings gibt es ein Problem, was wenn der DAU die Taste drückt mit der Maus ein anderes Fenster anklickt und released - dann bleibt es geöffnet und ich hab gemerkt, dass es sich dann auch im nachhinein nicht mehr schließen lässt.

Also danke schonmal aber wäre nett wenn jemand dafür einen Lösungsvorschlag hat. (Ich arbeite normalerweise nicht mit GUI - Frameworks deshalb fehlt mir damit irgendwie die Erfahrung)
 

dzim

Top Contributor
Kontextsensitive Informationen? Ich weiß nicht, ob dir das was bringt, aber wie wäre es mit einem StackLayout? Erstes element wäre dein Inhalt, das zweite deine infobox. Du musst im Listener dann beim holen setToFront oder so machen und respektive beim weg machen setToBack. darüber hinaus wäre es sinnvoll die box per translate[x|y] oder Scale (oder irgend etwas anderem) aus dem sichtbaren Bildbereich zu entfernen.
Oder du nutzt einfach ein Tooltip und setzt dessen graphic node auf was eigenes.

Außerdem: gibt es in JavaFX nicht auch requestFocus und einen entsprechenden "Gegenspieler"?
 

foerster7891

Aktives Mitglied
Frohe Weihnachten

Ähm, mit dem Stackpane kenne ich mich leider nicht aus - allerdings wollte ich fragen, ob es irgendwie möglich ist zu sagen:

Wenn stage.isFocused() == false dann stage.close()

Ich weiß gerade nur nicht wie ich sowas implementieren kann bzw. wie ich dass in einen EventHandler packe!


PS.:
Ich mittlerweile mehr als 1000 zeilen GUI - Code und traue mich auch nicht jetzt einfach mit dem StackPane darin rumzuexperimentieren vor allem auch weil ich gar nicht so viel Zeit habe.

Das Gegenstück also setFocused(boolean); gabs nur im alten JavaFX1.x geht jetzt nicht mehr :-(
 

Gucky

Top Contributor
Du kannst einen FokusListener in dein Hauptfenster machen, der bei Erhalten des Fokuses nachprüft, ob die Taste noch gedrückt ist und ggf. das Fenster schließt. Damit hättest du den DAU ausgebootet und einen KeyRealeasedListener in dein Infofenster machen, der das Fenster mit einer Methode (
Code:
dispose()
?) schließt. Damit hättest du den anderweitig vergebenen Fokus erschlagen.

EDIT: Frohes Fest euch allen :D
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
conan2 KeyListener abhören, wenn Fenster nicht aktiv AWT, Swing, JavaFX & SWT 2
P JTextfield Text durch Keylistener verändern AWT, Swing, JavaFX & SWT 4
N Keylistener & JComboBox AWT, Swing, JavaFX & SWT 5
B Swing JButton mit KeyListener AWT, Swing, JavaFX & SWT 3
H KeyListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
Fridolin111 Der KeyListener Löst kein event aus AWT, Swing, JavaFX & SWT 6
B KeyListener auf JFrame reagiert nicht AWT, Swing, JavaFX & SWT 8
N Mit KeyListener ein rechteck zeichnen AWT, Swing, JavaFX & SWT 9
S Swing JPanel nimmt keinen KeyListener an AWT, Swing, JavaFX & SWT 7
P JPanel KeyListener hinzufügen AWT, Swing, JavaFX & SWT 8
B Swing KeyListener auf Container? AWT, Swing, JavaFX & SWT 1
T Event Handling KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 10
K KeyListener ohne JFrame AWT, Swing, JavaFX & SWT 9
C Keylistener funktioniert nicht AWT, Swing, JavaFX & SWT 1
T KeyListener funktioniert nicht wenn ich ein JButton hinzufüge AWT, Swing, JavaFX & SWT 1
A Event Handling Muss ich 'KeyListener' tasuend mal zufügen? AWT, Swing, JavaFX & SWT 7
S mit keylistener frame schliessen AWT, Swing, JavaFX & SWT 8
S Keylistener reagiert bei Buttons nicht. AWT, Swing, JavaFX & SWT 8
S KeyListener funktioniert nicht AWT, Swing, JavaFX & SWT 2
R KeyListener in mehreren Panels AWT, Swing, JavaFX & SWT 5
V Tastatur KeyListener für mehrere Buttons AWT, Swing, JavaFX & SWT 1
J JLabel Visible setzen in KeyListener AWT, Swing, JavaFX & SWT 13
X KeyListener AWT, Swing, JavaFX & SWT 0
L KeyListener für JDialog AWT, Swing, JavaFX & SWT 7
N KeyListener funktioniert nicht richitg AWT, Swing, JavaFX & SWT 4
Z SnakeGame Schlange per KeyListener bewegen! AWT, Swing, JavaFX & SWT 10
T KeyListener AWT, Swing, JavaFX & SWT 2
GianaSisters JFrame mit JInternalFrames, Keylistener-Problem AWT, Swing, JavaFX & SWT 9
7 KeyListener tastatur temporär blockieren AWT, Swing, JavaFX & SWT 7
7 AWT problem: KeyListener/ test im Label umändern AWT, Swing, JavaFX & SWT 4
B SWT Problem: Wie kann man für jede TableColumn einen eigenen KeyListener registrieren. AWT, Swing, JavaFX & SWT 1
U Mouse + Keylistener AWT, Swing, JavaFX & SWT 12
K ActionListener mit KeyListener AWT, Swing, JavaFX & SWT 7
J JWindow und keylistener AWT, Swing, JavaFX & SWT 1
A Swing KeyEvent mit KeyListener und KeyAdapter kürzer schreiben AWT, Swing, JavaFX & SWT 7
D JTextArea auf KeyListener Command AWT, Swing, JavaFX & SWT 6
C KeyListener AWT, Swing, JavaFX & SWT 5
Doopy Event Handling KeyListener funktioniert nach Restart nicht mehr AWT, Swing, JavaFX & SWT 7
S KeyListener geht nicht AWT, Swing, JavaFX & SWT 12
C Swing KeyListener in JPanel AWT, Swing, JavaFX & SWT 2
A KeyListener Button wechseln & Programm beenden AWT, Swing, JavaFX & SWT 4
M Frage zu KeyListener bzgl. JApplet AWT, Swing, JavaFX & SWT 3
H Bild mit KeyListener verschieben AWT, Swing, JavaFX & SWT 2
C JTextField KeyListener AWT, Swing, JavaFX & SWT 6
Y KeyListener, GUI Thread, repaint AWT, Swing, JavaFX & SWT 7
bluerob Fehler bei Wertübermittlung über KeyListener AWT, Swing, JavaFX & SWT 3
E Swing KeyListener implementieren AWT, Swing, JavaFX & SWT 12
P KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 11
M KeyListener richtig implementieren AWT, Swing, JavaFX & SWT 3
T KeyListener AWT, Swing, JavaFX & SWT 4
R KeyListener in JWindow AWT, Swing, JavaFX & SWT 7
T BlueJ KeyListener AWT, Swing, JavaFX & SWT 7
Z KeyListener AWT, Swing, JavaFX & SWT 2
M Swing KeyListener in JTextfield AWT, Swing, JavaFX & SWT 4
C Swing KeyListener für JPanel funktioniert nicht AWT, Swing, JavaFX & SWT 8
VfL_Freak Swing KeyListener, um einen Dialog per ESC zu schließen AWT, Swing, JavaFX & SWT 6
A Keylistener reagiert nicht AWT, Swing, JavaFX & SWT 10
D Problem mit KeyListener AWT, Swing, JavaFX & SWT 2
J KeyListener um auf CTRL-Enter zu reagieren AWT, Swing, JavaFX & SWT 2
L Snake in Java KeyListener Problem AWT, Swing, JavaFX & SWT 30
B "globaler" KeyListener? AWT, Swing, JavaFX & SWT 3
B JTable TableHeader KeyListener AWT, Swing, JavaFX & SWT 4
S Swing KeyListener und JList AWT, Swing, JavaFX & SWT 2
R KeyListener funzt nicht AWT, Swing, JavaFX & SWT 2
X KeyListener AWT, Swing, JavaFX & SWT 4
P KeyListener + Animation AWT, Swing, JavaFX & SWT 2
M Fokus für KeyListener AWT, Swing, JavaFX & SWT 9
V Problem mit KeyListener im Fullscreen-Modus AWT, Swing, JavaFX & SWT 2
M AWT KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 10
C Swing KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 7
K JFrame + KeyListener + Runnable = Fehler AWT, Swing, JavaFX & SWT 3
F Tastenabfrage (KeyListener) AWT, Swing, JavaFX & SWT 2
D KeyListener Problem bei JPanel wechsel AWT, Swing, JavaFX & SWT 2
S Swing JTree mit KeyListener AWT, Swing, JavaFX & SWT 2
L AWT KeyListener, requestFocus und KeyBindings AWT, Swing, JavaFX & SWT 8
E JFrame akzeptiert den KeyListener nicht AWT, Swing, JavaFX & SWT 3
F Swing Problem mit KeyListener||paintComponent() in JFrame AWT, Swing, JavaFX & SWT 12
P Swing KeyListener hört nur manchmal zu AWT, Swing, JavaFX & SWT 2
Screen Focus Problem , KeyListener, TextField , Key AWT, Swing, JavaFX & SWT 4
earlgrey_tea AWT KeyListener bekommt keine Signale AWT, Swing, JavaFX & SWT 3
L Problem mit KeyListener AWT, Swing, JavaFX & SWT 3
A KeyListener funktioniert nicht AWT, Swing, JavaFX & SWT 4
D KeyListener-Problem nach dem "Gedrückthalten" einer Taste AWT, Swing, JavaFX & SWT 10
B Swing Keylistener fuer Dialog-Buttons AWT, Swing, JavaFX & SWT 2
B KeyListener Strg+s AWT, Swing, JavaFX & SWT 5
D Globaler Keylistener AWT, Swing, JavaFX & SWT 4
M problem mit keylistener/textarea AWT, Swing, JavaFX & SWT 6
M KeyListener Problem unter Firefox AWT, Swing, JavaFX & SWT 2
L AWT KeyListener, Taste gedrückt halten AWT, Swing, JavaFX & SWT 12
M Komisches Verhalten: JCombobox mit KeyListener AWT, Swing, JavaFX & SWT 13
capgeti SWT KeyListener 2 Tasten Problem AWT, Swing, JavaFX & SWT 3
R KeyListener - welcher Komponente hinzufügen AWT, Swing, JavaFX & SWT 5
Developer_X AWT KeyListener wird nicht ausgeführt! AWT, Swing, JavaFX & SWT 3
N JFrame und KeyListener AWT, Swing, JavaFX & SWT 6
M KeyListener reagiert nach Buttondruck nicht mehr AWT, Swing, JavaFX & SWT 4
A AWT Button verhindert ausführung vom Keylistener AWT, Swing, JavaFX & SWT 4
R KeyListener hinzufügen AWT, Swing, JavaFX & SWT 7
T Swing KeyListener mit mehreren Objekten AWT, Swing, JavaFX & SWT 2
G KeyListener AWT, Swing, JavaFX & SWT 3
E KeyListener AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben