我尝试使用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选项,如何使用Action侦听器显示新场景?
提前致谢!
答案 0 :(得分:4)
有两种方法可以让你想到如何做到这一点。
第一种方法是将onAction="#yourMethod"
添加到您的<ComboBox ... >
代码中。然后,您可以向控制器添加一些代码......
@FXML public void yourMethod() {
//Show the scene here
}
...将在用户选择项目时运行。
您可以做的另一件事是向您的ComboBox添加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中进行优先考虑。
我希望这对你的项目很有帮助,祝你好运!
(如果这没有回答你的问题,请告诉我,我会尽力修改我的答案)