【问题标题】:Netbeans - Entering items in a jComboBoxNetbeans - 在 jComboBox 中输入项目
【发布时间】:2009-10-09 06:21:09
【问题描述】:

我已经从 netbeans 生成了一个 GUI,其中我也放置了一个组合框。

默认情况下,combobox中的项目是item1,item2,item3,item4。

但我想要自己的物品。 Netbeans 不允许编辑生成的代码,所以我该如何编辑组合框。

注意:我通过编辑该 jComboBox 的“模型”属性知道一种方法,但我不想那样做,因为我想要该 jComboBox 中的各种项目(在数组中)所以我想通过该 jComboBox 中的数组如下所示:

jComboBox2 = new javax.swing.JComboBox();

String [] date = new String[31];
for(int i = 0; i < 31; i++) {
    date[i] = i + 1;
}

jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(date));

【问题讨论】:

    标签: java netbeans jcombobox


    【解决方案1】:
    public NewJFrame() {
            initComponents();
            reformatComboBox();
      }
    
    private void reformatComboBox() {
            JComboBoxName.removeAllItems();
            JComboBoxName.addItem("item1");
            JComboBoxName.addItem("item2");
    }
    

    【讨论】:

    • 请附上有关此解决方案为何有效并回答问题的评论
    【解决方案2】:

    使用 Netbeans NEON 和其他 netbeans 版本

    1.转到组合框的属性

    2。然后去模型

    【讨论】:

      【解决方案3】:

      我知道有两种方法:

      1. 简单的方法 - 在构造函数中调用 initComponents() 之后添加代码来构建模型并调用 jComboBox2.setModel(myModel) 来设置它。所以构造函数看起来像:

        public SomeClass() {
            initComponents();
            String [] date = new String[31];
            for(int i = 0; i < 31; i++) {
                date[i] = i + 1;
            }
            jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(date));
        }
        
      2. 复杂方法 - 添加一个包含所需模型的可读属性。例如:

        private ComboBoxModel getComboBoxModel()
        {
            String[] items = {"Item A", "Item B", "Item C"};
            return new DefaultComboBoxModel(items);
        }
        

        然后,在 jComboBox2 属性表中,单击按钮以编辑模型。

        在编辑器面板中,将下拉菜单从 Combo Box Model Editor 更改为 Value from existing component

        选择Property。选择 comboBoxModel 属性。点击确定

      第二种方法我试过一次。再也没有真正使用过它。工作太多,收获不大。此外,它会在设计器中显示一个空的组合框,这只会使布局更加困难。

      我使用第一种方法,并使用 NetBean 的模型编辑器为模型提供一些代表值。这给了我在设计器中合理的尺寸行为,代价是initComments() 中的一行不必要的行。

      【讨论】:

        【解决方案4】:

        您可以使用 GUI 编辑器中的“自定义代码”功能为组合框的“模型”注入代码

        【讨论】:

          【解决方案5】:

          完成 blurec 答案(我还不能评论),在 GUI 编辑器中选择组合框,转到属性,然后是模型,然后点击三个点。然后选择Custome Code并添加您的代码,例如:

          new DefaultComboBoxModel<>(functionThatReturnsAnStringArray())
          

          【讨论】:

            【解决方案6】:

            为了后代:

            右键单击组合框并选择自定义代码。在comboBox.setModel 的左侧选择自定义属性。 在 new String 之后,按以下形式添加您的值:

            值 1:Integer.toString(myInt1) 值 2:Integer.toString(myInt2)

            如果你的变量当然是 int 。如果不只是放入 String 变量,你就完成了。

            希望对你有帮助。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-11-19
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多