首页 > 解决方案 > 如何使光标在 JavaFX 文本字段中可见?

问题描述

当我在 Windows 10 中运行桌面 JavaFX 应用程序时,输入窗格的第一个字段(使用 SceneBuilder 创建)如下所示:

图。1

要使光标可见,我必须将鼠标指针放在文本字段中并单击。然后光标变为可见: 图2

我希望光标出现,而用户不必将鼠标指针放在字段中并单击。

同样,如果我在输入字段中输入一些有效数据并按 Tab 键,焦点将传递到下一个字段,但光标不再可见:

图 3

我想看到的是,无需再次重新定位鼠标指针:

图 4

经过大量网络搜索后,我找不到答案,希望能帮助您找到解决方案。

标签: javafx

解决方案


对我来说是一个糟糕的错过。光标不会失去可见性,但是当按下 Tab 键时,光标会遍历它要离开的文本字段和要捕获输入的下一个文本字段之间的所有其他控件。因此,在我上面的示例中,当光标离开货币代码文本字段时,每次按下 TAb 键,都会遍历状态按钮(绿色勾号)下一个文本字段标签(货币名称),并在三个击键后到达货币名称文本字段。解决方案非常明显,即在状态按钮上设置焦点可遍历属性并相应地标记:

statusBtnCurrencyCode.setFocusTraversable(false);
currencyNameLabel.setFocusTraversable(false);

现在只需按一下 Tab 键即可从货币代码文本字段转到货币名称文本字段。


推荐阅读