我已经从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));
答案 0 :(得分:7)
我知道有两种方法:
简单方法 - 在构造函数中调用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));
}
复杂方法 - 添加包含所需模型的可读属性。例如:
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()
中的一条不必要的行。
答案 1 :(得分:3)
答案 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变量就完成了。
希望它有所帮助。