3 回答

TA貢獻1827條經驗 獲得超8個贊
組合框被賦予從列表派生的數組。之后添加到列表中不會改變數組值(數組是固定長度值),
還有一個JComboBox
帶有Vector
參數,允許添加(與數組相反)。
然而,最好的參數是最高級別JComboBox
的。ComboBoxModel<E>
有一個默認實現DefaultComboBoxModel
:
DefaultComboBoxModel<String>?model?=?new?DefaultComboBoxModel<>(JOB_TYPE); model.addElement("custom0"); model.addElement("custom1"); combobox?=?new?JComboBox(model);

TA貢獻1820條經驗 獲得超10個贊
您可以像這樣初始化您的類,以便在初始化時保留所有作業,allJobs而不是僅存在于JComboBoxJamie 解決方案中的自定義作業。您還可以在構造函數內完成實例字段的所有初始化:
class Main {
private static final List<String> FIXED_OPTIONS = Arrays.asList("fixed0", "fixed1", "fixed2");
private List<String> allJobs = new ArrayList<>(FIXED_OPTIONS);
{
int count = 6;
for (int i = 0; i < count; i++) {
allJobs.add("custom" + i);
}
}
private JComboBox jobType = new JComboBox(allJobs.toArray());
}

TA貢獻1880條經驗 獲得超4個贊
可以看一下源碼:JComboBox
181: /**
182: * Constructs JComboBox with specified list of items.
183: *
184: * @param itemArray array containing list of items for this JComboBox
185: */
186: public JComboBox(Object[] itemArray)
187: {
188: this(new DefaultComboBoxModel(itemArray));
189:
190: if (itemArray.length > 0)
191: setSelectedIndex(0);
192: }
構造函數創建 DefaultComboBoxModel 的新實例。
添加回答
舉報