我有以下迷你应用程序:
public class TestApp extends Application {
public static void main(final String[] args) {
launch(args);
}
private final AtomicLong counter = new AtomicLong();
@Override
public void start(final Stage primaryStage) {
final VBox root = new VBox(5);
root.setPadding(new Insets(10));
root.setAlignment(Pos.CENTER);
final TableView<String> tableView = new TableView<>();
final TableColumn<String, String> column = new TableColumn<>("Text");
column.setCellValueFactory(f -> new SimpleStringProperty(f.getValue()));
tableView.getColumns().add(column);
// Add some sample items to our TableView
for (int i = 0; i < 100; i++) {
tableView.getItems().add("Item #" + counter.incrementAndGet());
}
final Button button = new Button("Add items");
final TextArea t1 = new TextArea();
button.setOnAction(e -> {
final long oldElement = counter.get();
// Add more elements
for (int i = 0; i < 10; i++) {
tableView.getItems().add("Item #" + counter.incrementAndGet());
}
tableView.scrollTo("Item #" + oldElement);
});
root.getChildren().add(button);
root.getChildren().add(t1);
root.getChildren().add(tableView);
// Show the Stage
primaryStage.setWidth(300);
primaryStage.setHeight(300);
primaryStage.setScene(new Scene(root));
primaryStage.show();
}
}
启动时,按钮具有焦点。如果我单击TextArea,它将获得焦点。
除了按下按钮(现在将触发一个动作,如果我只想摆脱焦点,这是不需要的)之外,现在没有办法再次使TextArea失去焦点。
如何释放所有焦点并取消选择所有内容,例如当我使用ESC时?
答案 0 :(得分:0)
我不知道这是否完全满足您的要求,但是您可以创建一个<div class="locButton">
<h5>Name</h5>
<p>Address1</p>
<p></p><!---->
<p>Phone</p>
</div>
变量来保持 ESCAPE 的状态。您还可以使用<p>
,让根节点在失去焦点时可以重新获得焦点。
boolean