Can';t填充我的JavaFX组合框
我无法填充从场景生成器创建的JavaFX组合框。虽然我已经搜索过了,但找不到解决此错误的方法 下面的例子都不起作用Can';t填充我的JavaFX组合框,java,javafx,combobox,Java,Javafx,Combobox,我无法填充从场景生成器创建的JavaFX组合框。虽然我已经搜索过了,但找不到解决此错误的方法 下面的例子都不起作用 @FXML ComboBox ComboStatus; @Override public void initialize(URL url, ResourceBundle rbs) { ComboStatus.getItems().addAll("Single","Married"); } observeListStatus
@FXML ComboBox ComboStatus;
@Override
public void initialize(URL url, ResourceBundle rbs) {
ComboStatus.getItems().addAll("Single","Married");
}
observeListStatusList=FXCollections。
可观察的工资单(
“单身”,
“已婚”
);
@FXML组合框组合状态;
@凌驾
公共void初始化(URL、ResourceBundle rbs){
//TODO自动生成的方法存根
ComboStatus.setItems(状态列表);
}
非常感谢您的帮助。下面是一个代码示例,它确实有效,希望能帮助您: 扩展应用程序的类:
public class Test extends Application{
public static void main(String[] args) {
Application.launch(Test.class, args);
}
@Override
public void start(Stage primaryStage) throws Exception {
FXMLLoader loader = new
FXMLLoader(Test.class.getResource("/test/MyExample.fxml"));
AnchorPane pane = (AnchorPane)loader.load();
Scene scene = new Scene(pane);
primaryStage.setScene(scene);
primaryStage.show();
}
}
控制器类:
public class MyExampleController implements Initializable {
//I think the problem with your code was that you did not use
//ComboBox<String>
@FXML
private ComboBox<String> cbxStatus;
@Override
public void initialize(URL url, ResourceBundle rb) {
cbxStatus.getItems().addAll("Single", "Married");
//you can make it so that an item is already selected
//instead of no item being selected until the user clicks on the box
//to select
cbxStatus.getSelectionModel().select(0);
}
}
公共类MyExampleController实现可初始化{
//我认为你的代码的问题在于你没有使用
//组合框
@FXML
专用组合框cbxStatus;
@凌驾
公共void初始化(URL、ResourceBundle rb){
cbxStatus.getItems().addAll(“单身”、“已婚”);
//您可以将其设置为已选择某个项目
//而不是在用户单击框之前不选择任何项目
//挑选
cbxStatus.getSelectionModel().select(0);
}
}
这两个代码段都是正确的:如果它们不起作用,您可能在其他地方出了问题。创建一个并在你的问题中发布。你的fxml是什么?您提供的代码看起来正确。奇怪。如果在该行上放置一个断点并在调试模式下运行,程序会在那里停止吗?如果执行该行,会出现错误吗?比如NullPointerExeption,因为您的FXML中组合框的名称不同?顺便说一句,我宁愿使用comboStatus(开头用小写字母“c”)而不是comboStatus。我试着做了一个极小值,结果成功了!。。谢谢你的帮助。我真的不知道问题出在哪里,但将主控制器和填充表单控制器分开是可行的。我以前确实将它们组合起来保存java文件,但我想这样做行不通……谢谢,但如果你看我的第二个示例,我确实使用了。我已经解决了这个问题,正如我在上面帖子的评论部分所说的那样,我做了一个“最小”或者他们称之为“最小”。无论如何,谢谢你。
public class MyExampleController implements Initializable {
//I think the problem with your code was that you did not use
//ComboBox<String>
@FXML
private ComboBox<String> cbxStatus;
@Override
public void initialize(URL url, ResourceBundle rb) {
cbxStatus.getItems().addAll("Single", "Married");
//you can make it so that an item is already selected
//instead of no item being selected until the user clicks on the box
//to select
cbxStatus.getSelectionModel().select(0);
}
}