3 回答

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

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
您可以像這樣初始化您的類,以便在初始化時(shí)保留所有作業(yè),allJobs而不是僅存在于JComboBoxJamie 解決方案中的自定義作業(yè)。您還可以在構(gòu)造函數(shù)內(nèi)完成實(shí)例字段的所有初始化:
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貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊
可以看一下源碼: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: }
構(gòu)造函數(shù)創(chuàng)建 DefaultComboBoxModel 的新實(shí)例。
添加回答
舉報(bào)