【发布时间】:2012-02-15 08:56:15
【问题描述】:
以下代码应该在 JavaFX TextField 中选择一个单词:
public class NewFXMain extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
final TextInputControl textField = new TextField("Hello World, World!");
Button button = new Button("select");
button.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent t) {
textField.positionCaret(0);
textField.selectNextWord();
System.out.println(textField.getSelectedText());
}
});
VBox root = new VBox();
root.getChildren().add(textField);
root.getChildren().add(button);
primaryStage.setScene(new Scene(root, 300, 100));
primaryStage.show();
}
}
它在控制台中打印Hello,但是在界面中没有选择(突出显示)。
如果对TextArea 执行相同操作,则文本被正确选择。
TextField 的(错误)结果:
以及TextArea 的(正确)结果:
发生了什么事?!?
【问题讨论】:
-
查看我的回答并告诉我它是否有效...