我正在尝试使用 FXML 和 JavaFX Controller 创建一个下拉菜单(使用 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>
当选择组合框选项时,如何使用 Action 监听器显示新场景?
提前致谢!
最佳答案
关于如何做到这一点,您可以想到两种方法。
第一个是添加 onAction="#yourMethod"
给您<ComboBox ... >
标签。然后您可以向 Controller 添加一些代码...
@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 来实现。
我希望这对您有所帮助,祝您的项目顺利!
(如果这没有回答您的问题,请告诉我,我会尽力修改我的答案)
关于javafx - 选择组合框项目时执行操作 FXML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35360306/