Can';t填充我的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

我无法填充从场景生成器创建的JavaFX组合框。虽然我已经搜索过了,但找不到解决此错误的方法

下面的例子都不起作用

@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);
    }    

}