為分層資料建立動態JComboBox
當處理呈現分層結構的資料(例如問題中提供的結構)時,建立動態JComboBox 可以大大增強使用者互動並簡化資料選擇。為了實現這一點,需要多個 ComboBoxModel 來表示不同的層次結構層級。
在這個特定的範例中,我們有三門課程(Course1、Course2、Course3)及其對應的單元(A1、A2、B1、B2) 、B3、B4、C1、C2)。要建立動態 JComboBox,我們首先為每個課程建立一個 ComboBoxModel。這些模型將保存每門課程的單元,如下所示:
models[0] = new DefaultComboBoxModel(new String[] {"A1", "A2"}); models[1] = new DefaultComboBoxModel(new String[] {"B1", "B2", "B3", "B4"}); models[2] = new DefaultComboBoxModel(new String[] {"C1", "C2"});
接下來,我們用課程填充第一個JComboBox (combo1):
combo1 = new JComboBox(new String[]{ "Course 1", "Course 2", "Course 3" });
然後我們填充第二個JComboBox (combo2) 預設包含第一門課程的單位:
combo2.setModel(models[0]);
最後,我們新增combo1 的ActionListener 來處理選擇。當組合1 中選定的課程發生變更時,對應的單元將填入組合2 中:
@Override public void actionPerformed(ActionEvent e) { int i = combo1.getSelectedIndex(); combo2.setModel(models[i]); }
透過實作此方法,我們會建立動態JComboBox,讓使用者選擇課程並查看連結的ComboBox中填充的相應單元。這種動態行為可以實現直覺的導航和資料選擇,特別是在處理分層或複雜的資料結構時。
以上是如何為分層資料建立動態 JComboBox?的詳細內容。更多資訊請關注PHP中文網其他相關文章!