选择组合框项时执行操作 FXML
Execute action when combobox item is selected 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 fx:factory="observableArrayList">
<String fx:value="Menu" />
<String fx:value="Settings" />
<String fx:value="Exit" />
</FXCollections>
</items>
</ComboBox>
如何在选择 ComboBox 选项时使用 Action 侦听器显示新场景?
提前致谢!
关于如何执行此操作,您会想到两种方法。
首先是将 onAction="#yourMethod"
添加到您的 <ComboBox ... >
标签。然后您可以向您的控制器添加一些代码...
@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 来实现的偏好问题。
希望对您有所帮助,祝您的项目顺利!
(如果这没有回答您的问题,请告诉我,我会尽力修改我的答案)
我正在尝试使用 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 侦听器显示新场景?
提前致谢!
关于如何执行此操作,您会想到两种方法。
首先是将 onAction="#yourMethod"
添加到您的 <ComboBox ... >
标签。然后您可以向您的控制器添加一些代码...
@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 来实现的偏好问题。
希望对您有所帮助,祝您的项目顺利!
(如果这没有回答您的问题,请告诉我,我会尽力修改我的答案)