我正在使用Stage
创建一个包含Label
和TextField
以及确定和取消Button
的简单对话框。
当我的应用程序在Java7上运行时,唯一的TextField
控件隐含了键盘焦点。在Java8上不是这种情况。在Java8上,用户必须用鼠标单击TextField
才能开始输入。
似乎我必须延长Stage
并覆盖Stage.showAndWait()
以请求我的TextField
控件的焦点。
答案 0 :(得分:5)
Node.requestFocus()
是您需要的方法,现在我们有两种方法可以调用它:
使用Stage.setOnShown()
。一旦显示舞台,就会调用在此方法中传递的EventHandler。
或者,您可以使用Platform.runLater()
请求初始关注。