JavaFX:如何改变焦点遍历策略?

2022-09-01 13:47:55

在JavaFX中是否有可能像AWT一样改变焦点遍历策略

因为我的两个 es 的遍历顺序是错误的。HBox


答案 1

最简单的解决方案是编辑 FXML 文件并相应地对容器重新排序。例如,我当前的应用程序具有一个注册对话框,可以在其中输入序列号。有 5 个文本字段用于此目的。为了使焦点从一个文本字段正确传递到另一个文本字段,我必须以这种方式列出它们:

<TextField fx:id="tfSerial1" layoutX="180.0" layoutY="166.0" prefWidth="55.0" />
<TextField fx:id="tfSerial2" layoutX="257.0" layoutY="166.0" prefWidth="55.0" />
<TextField fx:id="tfSerial3" layoutX="335.0" layoutY="166.0" prefWidth="55.0" />
<TextField fx:id="tfSerial4" layoutX="412.0" layoutY="166.0" prefWidth="55.0" />
<TextField fx:id="tfSerial5" layoutX="488.0" layoutY="166.0" prefWidth="55.0" />

答案 2

Bluehair的答案是正确的,但你甚至可以在JavaFX Scene Builder中做到这一点。

左列中有“层次结构”面板。场景中有您的所有组件。它们的顺序表示焦点遍历顺序,并响应它们在 FXML 文件中的顺序。

我在这个网页上找到了这个提示:www.wobblycogs.co.uk