在javaFX中按“Tab”按钮时如何关注按钮?

时间:2016-04-17 13:07:09

标签: css javafx hover focus javafx-8

This is the Image link of my fxml file...

在上面显示的javaFx中一个简单形式的窗口中,当我按下tab键时,它将转到ok按钮,下一个tab将转到取消按钮。但是,文本字段上显示的焦点不会传输到按钮上。
但是当鼠标光标移动到它们上方时,悬停效果可以很好地工作。
按下标签按钮时,如何使这些按钮以不同颜色聚焦/悬停(不是通过移动鼠标光标)? 感谢您的期待。

1 个答案:

答案 0 :(得分:0)

您可以在stylesheeet中设置按钮的颜色。

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;
}