[英]Netbeans - Entering items in a 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));
我知道有兩種方法:
簡單方法 - 在initComponents()
調用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()
中一條不必要的行。
您可以使用GUI編輯器中的“自定義代碼”功能為組合框的“模型”注入代碼
完成blurec答案(我還不能評論),在GUI編輯器中選擇comboxbox,go屬性,然后模型,然后點擊三個點。 然后選擇Custome Code並添加您的代碼,例如:
new DefaultComboBoxModel<>(functionThatReturnsAnStringArray())
public NewJFrame() {
initComponents();
reformatComboBox();
}
private void reformatComboBox() {
JComboBoxName.removeAllItems();
JComboBoxName.addItem("item1");
JComboBoxName.addItem("item2");
}
后人:
右鍵單擊ComboBox並選擇Customize Code 。 在comboBox.setModel中,在左側選擇自定義屬性 。 在新String之后,以下面的形式添加您的值:
值1:Integer.toString(myInt1)值2:Integer.toString(myInt2)
如果你的變量當然是int。 如果不是只是放入String變量就完成了。
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.