首页 > 解决方案 > 单击按钮时如何清除 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);

标签: javajavafx

解决方案


要清除 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();
} );

推荐阅读