java - 单击按钮时如何清除 HBox 中的组合框?
问题描述
我有一个简单的 JavaFX GUI,顶部有一个 HBox,其中包含几个最终将充当过滤器的 ComboBox。单击“清除”按钮时,我无法弄清楚如何将 ComboBoxes 的值重置为空字符串。任何提示将不胜感激。
更新:这是适用于我的代码
// private EventHandler to pass to the clearButton's action
EventHandler<ActionEvent> clearAction = new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
List<Node> nodes = topPane.getChildren();
for (Node node : nodes) {
if (node instanceof ComboBox) {
((ComboBox) node).getSelectionModel().clearSelection();
}
}
}
};
clearButton.setOnAction(clearAction);
解决方案
要清除 ComboBox 的选择,您需要访问SelectionModel。在 SelectionModel 中,您会发现一个方法 clearSelection() 可以在按钮的操作处理程序中使用。假设您熟悉所涉及的所有其他内容,您将需要以下内容。
ComboBox<String> box = new ComboBox<>();
box.getItems().addAll( "Choice 1", "Choice 2", "Choice 3" );
Button clearButton = new Button( "Clear Selection" );
clearButton.setOnAction( e -> {
box.getSelectionModel().clearSelection();
} );
推荐阅读
- reactjs - 在反应中使用材质 UI 的 Hook 调用无效
- c# - 如何验证 lambda 授权程序中的端点
- html - 如何解决这个简单的 Aurelia CSS 问题?
- rsa - 将解码的 pkcs12 密钥转换为 pem 格式
- mysql - SQL 命令错误/外键问题
- python - 使用字典中给出的单词出现更新数据框的单元格
- javascript - 如何使用 HTML 和 Javascript 在没有按钮的情况下更改背景图像
- extension-methods - OnAfterOpenSolution 和 OnAfterOpenProject 未触发,将扩展升级到 Visual Studio 2022
- python - 满足 PyDispatcher-2.0.5 的要求(来自版本:无)
- powershell - 简单的powershell成功或失败日志