我有一个简单的场景,在单击 ListView 项时设置 TextArea 的焦点。我尝试过使用 requestFocus() 或 setFocusTraversable(true/false) 等可用的焦点方法,但没有得到所需的结果。 这是ListView Item选择的事件处理程序代码。
activeUsersList.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
historyTextArea.appendText("ListView Selection Changed (selected: " + newValue.toString() + ")\n");
messageTextArea.setFocusTraversable(false);
});
如果我遗漏了什么,请告诉我。
最佳答案
这应该适合你:
activeUsersList.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
historyTextArea.appendText("ListView Selection Changed (selected: " + newValue.toString() + ")\n");
Platform.runLater(messageTextArea::requestFocus);
});
关于JavaFX:设置文本区域的焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60599622/