2016-09-16 2 views
-2

Ich habe eine Multiple-Choice-JavaSwing-App, die Kontrollkästchen und nächste/vorherige Schaltflächen hat. Ich hatte es geändert, also Fokus ist jetzt auf die Schaltfläche Next, wenn es startet, so dass Benutzer drücken Sie die Eingabe/Zurück, um zum nächsten Bildschirm zu gehen.Behalten Sie den Fokus auf der Tastatur, wenn das Kontrollkästchen ausgewählt ist

Das Problem ist jetzt, wenn der Benutzer ein Kontrollkästchen aktiviert, verliert die Schaltfläche Weiter seine Tastatur Fokus und grauer Umriss. Coder hat einen Hack hinzugefügt, so dass die Schaltfläche bei jeder Auswahl eines Kontrollkästchens den Fokus und die graue Umrandung wiedererlangt, aber dann blinkt die Schaltfläche bei jedem Mausklick! Einige Bildschirme haben 4 richtige Checkboxen, daher blinkt die Taste 4 mal.

Ich denke, das ist inakzeptables Verhalten, aber er sagt: "Erwartetes Verhalten ist, wenn Sie ein Steuerelement wählen, es offensichtlich ist, dass es sich auf dieses Element konzentriert. Sie sagen, Java Inbuilt Funktionalität zu überschreiben, die nicht möglich ist."

Das fühlt sich einfach falsch an. Hat er Recht? Gibt es irgendeine Quelle, auf die ich ihn hinweisen kann, die es ihm erlaubt, sich auf Checkboxen bei Mausklick zu konzentrieren, während Tastatur Fokus auf Tasten gehalten wird?

Vielen Dank im Voraus.

+1

Warum fragst du nicht deine * eigene Frage *? Code Beispiele und in diesem Fall Screenshots wären * sehr * nützlich. –

+0

Hallo - Ich dachte nicht, dass Screenshot helfen würde, da es nur ein Bildschirm mit Checkboxen und Navigationsschaltflächen ist. Ich kann jetzt keine Möglichkeit sehen, ein Bild hochzuladen. Nicht sicher, was du meinst, indem du meine eigenen Fragen stellst. Bitte erläutern. – Walrus

+0

Bitte zeigen Sie uns, was Sie bisher versucht haben. Stack Overflow ist kein Code-Schreibdienst, aber die Leute sind bereit, Ihnen zu helfen, wenn Sie zumindest versuchen, das Problem selbst zu lösen. Siehe auch [Erstellen eines minimalen, vollständigen und überprüfbaren Beispiels] (http://stackoverflow.com/help/mcve) und [Wie stelle ich eine gute Frage?] (Http://stackoverflow.com/help/wie man fragt). – sarcom

Antwort

0

Sie sollten sich nicht mit dem Tastaturfokus herumschlagen - das ärgert nur die Benutzer, die versuchen, nur mit Tastenanschlägen durch die Benutzeroberfläche zu navigieren.

Was Sie suchen ist die „Standardschaltfläche“, die auf JFrame s und JDialog s rootpane verfügbar:

public JFrame makeFrame() { 
    JFrame f = new JFrame(...); 
    JButton next = new JButton("next"); 
    f.getRootPane().setDefaultButton(next); 
    return f; 
} 

public JDialog makeFrame() { 
    JDialog d = new JDialog(...); 
    JButton next = new JButton("next"); 
    d.getRootPane().setDefaultButton(next); 
    return d; 
} 
+0

Coder hat die Tasten zu den Standardtasten geändert. Der Fokus liegt nun auf Tasten, so dass der Benutzer zum Navigieren die Enter/Return-Taste drücken kann. Außerdem kann er Kontrollkästchen auswählen. Danke an alle, dass Sie sich die Zeit genommen haben, zu antworten. – Walrus

0

Ihr Programmierer sollte wahrscheinlich setFocusable (false) auf die Checkboxen setzen.

Verwandte Themen