【发布时间】:2020-07-08 22:49:14
【问题描述】:
我正在使用 JavaFX 库在 Java 中制作一个数独求解程序。该程序包含一个交互式数独板,由GridPane 中的一系列TextFields 组成。董事会看起来像这样:
现在,光标位于最左上角的TextField。如果该字段中包含文本,则用户将能够使用箭头键在文本中移动光标。但是,我希望用户能够使用箭头键导航到不同的TextField。问题是,该字段处于“打字模式”(我不知道官方术语),所以箭头键只会将光标移动到文本中的不同点,否则它会停留在同一个字段中。
这就是我的意思:
假设我画的那条线是光标。现在,如果我单击左箭头键,光标将移动到 1 的左侧,但我希望它移动左侧的 TextField。如果我单击向下箭头键,则不会发生任何事情,因为 1 下方没有可供光标导航的文本,但我希望它移动到下方的 TextField。
GridPane 的代码是这样的:
TextField[][] squares = new TextField[9][9];
GridPane grid = new GridPane();
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
squares[i][j] = new TextField();
squares[i][j].setPrefHeight(8);
squares[i][j].setPrefWidth(25);
grid.add(squares[i][j], j, i);
}
}
grid.setAlignment(Pos.CENTER);
squares 数组供我访问 GridPane 中的单个 TextFields。
关于如何解决此问题的任何建议?
【问题讨论】:
标签: java user-interface javafx textfield arrow-keys