Focusverhalten und wechsel des KeyboardFocusManagers

Status
Nicht offen für weitere Antworten.

Bert Brenner

Bekanntes Mitglied
Mein Problem tritt nur unter Windows auf bei verwendung des Windows Look&Feels.

In einem Projekt bei uns ist es erforderlich den KeyboardFocusManager gegen einen eigenen zu tauschen, jedoch für z.b. Dialoge soll wieder der DefaultKeyboardFocusManager zum Einsatz kommen.

Wechselt man den Manager wie im Beispiel unten, kann man nicht mehr per TAB-Taste zwischen den Buttons des Dialoges wechseln.
Was übersehe ich hier?

Hier ein minimales Beispielprogramm um mein Problem nachzustellen:
Java:
import java.awt.*;
import javax.swing.*;

public class DialogTest {
  public static void main(String[] args) throws Exception {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    KeyboardFocusManager.setCurrentKeyboardFocusManager(null);

    int result = JOptionPane.showConfirmDialog(null, "Was geht?");
    
    System.out.println(result);
    System.exit(0);
  }
}
 
G

Gast2

Gast
Wie soll ohne KeyboardManager auch irgendwelche Keyanschläge(Tab) an deiner GUI ankommen?
Du solltest ihn auf keinen Fall auf null setzen... Und auch nicht überschreiben oder sonstiges...

Wenn du schon sowas machen willst musst du dir den alten schon gescheit merken irgendwo und diesen dann setzen

Java:
    KeyboardFocusManager oldManager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
    KeyboardFocusManager.setCurrentKeyboardFocusManager(oldManager);
 
Zuletzt bearbeitet von einem Moderator:

Bert Brenner

Bekanntes Mitglied
Nach der API wird bei übergabe von null ein neuer DefaultKeyboardFocusManager erzeugt.
Und das Problem tritt ja nur unter Windows auf, wenn das Windows Look&Feel verwendet wird.

Ich werds wohl so machen, das ich mir einfach die erste Instanz des KeyboardFocusManagers irgendwo merke um diesen dann immer scharf zu machen wenn er gebraucht werden sollte.
 

Ebenius

Top Contributor
Wie soll ohne KeyboardManager auch irgendwelche Keyanschläge(Tab) an deiner GUI ankommen?
In die Falle wäre ich auch fast getappt, hab dann aber lieber nochmal in der API-Doc gelesen. :D Der Themeneröffner hätte das natürlich auch im Eingangsbeitrag erwähnen können, um uns nicht auf's Glatteis zu führen. ;-)

Ebenius
 
G

Gast2

Gast
In die Falle wäre ich auch fast getappt, hab dann aber lieber nochmal in der API-Doc gelesen. :D Der Themeneröffner hätte das natürlich auch im Eingangsbeitrag erwähnen können, um uns nicht auf's Glatteis zu führen. ;-)

Ebenius

hä welche Falle meinst du?
 

Ebenius

Top Contributor
hä welche Falle meinst du?
Die, zu denken, dass [c]KeyboardFocusManager. setCurrentKeyboardFocusManager(null)[/c] nicht den Default-FocusManager setzt. Siehe API-Doc:
Sets the current KeyboardFocusManager instance for the calling thread's context. If null is specified, then the current KeyboardFocusManager is replaced with a new instance of DefaultKeyboardFocusManager.
Ebenius
 
Zuletzt bearbeitet:
G

Gast2

Gast
Ja mein ich doch er soll nicht null rein setzen, sondern sich den alten merken... :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B JComboBox - Merkwürdiges Focusverhalten. AWT, Swing, JavaFX & SWT 2
T Elemente auf vorheriger Stage, nach Wechsel der Stage ansprechen AWT, Swing, JavaFX & SWT 32
B JavaFX Bei Scenen-Wechsel im primaryStage wird aktuelle Fenstergröße nicht mit übernommen AWT, Swing, JavaFX & SWT 16
T Scene-Wechsel manchmal weiss AWT, Swing, JavaFX & SWT 3
T LookAndFeel LookAndFeel funktioniert nicht beim JFrame wechsel AWT, Swing, JavaFX & SWT 3
I JavaFX-Scene-Überlagerung/Wechsel mit pausieren der anderen Scene AWT, Swing, JavaFX & SWT 0
L JavaFX Animation für Panel wechsel AWT, Swing, JavaFX & SWT 3
U JavaFX Wechsel der Scene nach betätigen eines Button AWT, Swing, JavaFX & SWT 2
A Swing CardLayout - kein Wechsel möglich AWT, Swing, JavaFX & SWT 5
N Swing CardLayout: Problem beim Wechsel zwischen den JPanels AWT, Swing, JavaFX & SWT 3
S JavaFX Pane Wechsel AWT, Swing, JavaFX & SWT 1
H Drag-Evente nach Container wechsel AWT, Swing, JavaFX & SWT 2
H Swing Wechsel zwischen Frames AWT, Swing, JavaFX & SWT 6
M Image wird nicht neugezeichnet nach dem Wechsel AWT, Swing, JavaFX & SWT 2
R Wechsel bei der GUI funktioniert nicht AWT, Swing, JavaFX & SWT 3
D KeyListener Problem bei JPanel wechsel AWT, Swing, JavaFX & SWT 2
B Wechsel JTextArea und JComponent AWT, Swing, JavaFX & SWT 9
D jtabbedpane Event VOR tab-Wechsel AWT, Swing, JavaFX & SWT 3
U JPanel wechsel in JApplet AWT, Swing, JavaFX & SWT 14
E Swing Wechsel in JCheckBox abfangen AWT, Swing, JavaFX & SWT 10
S Swing JTabbedPane: Resize des JFrame bei Tab wechsel AWT, Swing, JavaFX & SWT 8
K Icon auf JButton mit Wechsel der Farbe AWT, Swing, JavaFX & SWT 2
D Wechsel der Komponenten im MainFrame . AWT, Swing, JavaFX & SWT 3
B JTable - Wechsel der Spalte bei TAB, RETURN oder Maus AWT, Swing, JavaFX & SWT 5
K JSpinner Werte verschwinden bei Panel Wechsel AWT, Swing, JavaFX & SWT 2
D Wechsel in Taskleiste führt zu verschwninden von Dialog AWT, Swing, JavaFX & SWT 18
S Wechsel zwischen JFrame und JDialog durch Benutzerauswahl AWT, Swing, JavaFX & SWT 2
Z Look&Feel-Wechsel bringt mein GUI durcheinander AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben