【问题标题】:Execute action when combobox item is selected FXML选择组合框项目时执行操作 FXML
【发布时间】:2017-04-11 07:16:50
【问题描述】:

我正在尝试使用 FXML 和 JavaFX 控制器创建一个下拉菜单(使用 ComboBox)。

这是我已经拥有的:

<ComboBox fx:id="menuSettings" layoutX="14.0" layoutY="27.0" prefHeight="27.0" prefWidth="27.0" style="-fx-background-color: white;">               
    <items>
        <FXCollections fx:factory="observableArrayList">
            <String fx:value="Menu" />
            <String fx:value="Settings" />
            <String fx:value="Exit" />
        </FXCollections>
    </items>
</ComboBox>

选择ComboBox选项时,如何使用动作侦听器显示新场景?

提前致谢!

【问题讨论】:

    标签: javafx combobox fxml


    【解决方案1】:

    关于如何做到这一点,我想到了两种方法。

    首先是将onAction="#yourMethod" 添加到您的&lt;ComboBox ... &gt; 标记中。然后,您可以向控制器添加一些代码...

    @FXML public void yourMethod() {
        //Show the scene here
    }
    

    ...当用户选择一个项目时运行。

    您可以做的另一件事是将ChangeListener 添加到您的组合框:

    @FXML public void initialize() {
        yourComboBox.valueProperty().addListener(new ChangeListener<String>() {
                @Override public void changed(ObservableValue value, String old, String new) {
                    //Show your scene here
                }    
            });
    }
    

    我认为这两项工作,只是偏好以代码或 FXML 来完成。

    我希望这对您有所帮助,并祝您的项目好运!

    (如果这没有回答你的问题,请告诉我,我会尽力修改我的答案)

    【讨论】:

      猜你喜欢
      • 2013-02-16
      • 2017-03-21
      • 2014-08-20
      • 1970-01-01
      • 2012-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多