Netbeans - 在jComboBox中输入项目

时间:2009-10-09 06:21:09

标签: java netbeans jcombobox

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

默认情况下,组合框中的项目为item1,item2,item3,item4。

但我想要自己的物品。 Netbeans不允许编辑生成的代码,所以如何根据我编辑comnbobox。

注意:我通过编辑jComboBox的“model”属性知道一种方法,但我不想这样做,因为我想在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));

6 个答案:

答案 0 :(得分:7)

我知道有两种方法:

  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属性。单击“确定”

  3. 我曾尝试过第二种方式。再也没用过了。太多的工作,没有真正的好处。另外,它在设计器中显示一个空的组合框,这使得布局更难。

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

答案 1 :(得分:3)

使用Netbeans NEON和其他netbeans版本

<强> 1。转到组合框的属性

enter image description here

<强> 2。然后转到模型

enter image description here

答案 2 :(得分:2)

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

答案 3 :(得分:0)

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

new DefaultComboBoxModel<>(functionThatReturnsAnStringArray())

答案 4 :(得分:0)

public NewJFrame() {
        initComponents();
        reformatComboBox();
  }

private void reformatComboBox() {
        JComboBoxName.removeAllItems();
        JComboBoxName.addItem("item1");
        JComboBoxName.addItem("item2");
}

答案 5 :(得分:0)

后人:

右键单击ComboBox并选择自定义代码。在comboBox.setModel中,在左侧选择自定义属性。 在新String之后,按以下格式添加值:

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

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

希望它有所帮助。