Javafx 选择组合框项时执行操作FXML
我正在尝试使用FXML和JavaFX控制器创建一个下拉菜单(使用ComboBox) 这是我已经拥有的:Javafx 选择组合框项时执行操作FXML,javafx,combobox,fxml,Javafx,Combobox,Fxml,我正在尝试使用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
<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>
选择组合框选项后,如何使用动作侦听器显示新场景
提前谢谢 关于如何做到这一点,我想到了两种方法 第一种方法是将
onAction=“#yourMethod”
添加到
标记中。然后,您可以向控制器添加一些代码
@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 public void initialize(){
yourComboBox.valueProperty().addListener(新的ChangeListener()){
@覆盖公共无效已更改(ObservalEvalue值、旧字符串、新字符串){
//在这里展示你的场景
}
});
}
我认为,这两项工作都需要在代码或FXML中进行
我希望这是有益的,祝你的项目好运
(如果这没有回答您的问题,请让我知道,我将尽最大努力修改我的答案)