2016-04-17 7 views
1

This is the Image link of my fxml file...Wie man eine Taste fokussiert, wenn man die Taste "Tab" in javaFX drückt?

In dem oben gezeigten Fenster eines einfachen Form in JavaFX, wenn ich drücken Sie die Taste Tab es OK-Taste und nächsten Reiter gehen verschiebt sich um den Vorgang abzubrechen. Der Fokus, der im Textfeld angezeigt wird, wird jedoch nicht auf die Schaltflächen übertragen.
Aber wenn der Mauszeiger auf sie bewegt wird, funktioniert der Hover-Effekt perfekt.
Wie können diese Schaltflächen beim Drücken der Tab-Taste (nicht durch Bewegen des Mauszeigers) mit unterschiedlichen Farben fokussiert/verschoben werden? Danke in Erwartung.

+0

Bitte senden Sie Ihren Code. –

Antwort

0

Sie können die Farben für die Schaltflächen in einem Stylesheet festlegen.

public class YourApp extends Application { 

    @Override 
    public void start(Stage primaryStage) { 

     TextField txt = new TextField("test"); 

     Button btnOk = new Button("OK"); 
     btnOk.setId("buttonOk"); 

     Button btnCancel = new Button("Cancel"); 
     btnCancel.setId("buttonCancel"); 

     VBox box = new VBox(txt, btnOk, btnCancel); 
     Scene scene = new Scene(box); 

     scene.getStylesheets().add(getClass().getResource("yourApp.css").toExternalForm()); 

     primaryStage.setScene(scene); 
     primaryStage.show(); 
    } 

    public static void main(String[] args) { 
     launch(args); 
    } 
} 

yourApp.css:

#buttonCancel:hover, 
#buttonCancel:focused { 
    -fx-background-color: blue; 
} 
#buttonOk:hover, 
#buttonOk:focused{ 
    -fx-background-color: green; 
} 
+0

Vielen Dank. Das war zu einfach wie CSS in HTML;) – Amit

Verwandte Themen