JavaFX8:如何在“舞台”中设置最初聚焦的控件?

时间:2014-11-18 17:04:24

标签: dialog javafx javafx-8

我正在使用Stage创建一个包含LabelTextField以及确定和取消Button的简单对话框。

当我的应用程序在Java7上运行时,唯一的TextField控件隐含了键盘焦点。在Java8上不是这种情况。在Java8上,用户必须用鼠标单击TextField才能开始输入。

似乎我必须延长Stage并覆盖Stage.showAndWait()以请求我的TextField控件的焦点。

1 个答案:

答案 0 :(得分:5)

Node.requestFocus()是您需要的方法,现在我们有两种方法可以调用它:

使用Stage.setOnShown()。一旦显示舞台,就会调用在此方法中传递的EventHandler。

或者,您可以使用Platform.runLater()请求初始关注。