当前位置: 首页 > 知识库问答 >
问题:

无法填充我的JavaFX组合框

商开济
2023-03-14

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

下面的例子都不管用。

@FXML ComboBox ComboStatus;

@Override
    public void initialize(URL url, ResourceBundle rbs) {           
        ComboStatus.getItems().addAll("Single","Married");
    }
ObservableList<String> statusList = FXCollections.
            observableArrayList(
                    "Single",
                    "Married"
    );

@FXML ComboBox<String> ComboStatus;

@Override
    public void initialize(URL url, ResourceBundle rbs) {
        // TODO Auto-generated method stub
        ComboStatus.setItems(statusList);
    }

帮助将不胜感激。

共有1个答案

宋飞掣
2023-03-14

下面是一个代码示例,它确实有效,希望能有所帮助:

扩展应用程序的类:

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

}
 类似资料:
  • 我想在一个组合框中填充一些数据。这很好。但是,我想动态地改变组合框中的数据。 目前我有一个表,在组合框中,我在表列中显示数据的唯一值。现在,表数据存储在静态可观察列表变量中。我想根据表中显示的数据更改组合框中的数据。也就是说,如果存储表数据的静态可观察列表发生更改,我希望在没有手动干预的情况下更改组合框数据。 如果没有单独的静态变量用于组合框,这是否可能?

  • 我在填充Tableview时遇到问题。当我运行此代码时,我的tableview具有与观察列表相同数量的记录,但什么都不可见。 有什么想法吗?donť理解一些类似cellvalueProperty的东西。这对我的示例有用吗?谢谢

  • 我正在查询Sql Server并返回一个List-我想使用此List作为我的组合框的源。下面是我正在使用的代码,它运行时没有错误,但我的组合框始终为空并且从不填充。这里有什么不正确的? 主要的Java语言 样品fxml

  • 下面是Verzeichnisdaten类: 此代码属于Verzeichnisdaten。上面有更多的代码,但现在不相关了。

  • 我试图避免将一大堆数字硬编码到我的JavaFX ComboBox中,但我不知道有任何其他方法可以做到这一点。目前我正在这样做: 然而,我的目标是调用一个方法,该方法将生成一个达到某个指定上限(例如50)的数字列表。我尝试了以下方法,但它只是添加了最后一个,而不是全部50:

  • 说到编程或java,我只是一个完全的初学者。所以一开始,我的计划是使用JavaFX(结合场景构建器)创建一个窗口,在那里我有一个按钮,可以引导我进入另一个窗口,在那里我有一个组合框。我谷歌了几个小时,想找到一种方法来填充组合框,但我找到的所有解决方案都不适合我。这就是为什么我认为我在这里犯了一些错误,我希望你能以某种方式帮助我。或者在列表中给我一个提示,我应该学习/阅读什么才能自己找到解决方案。首