2013-04-11 32 views
0

到目前爲止,我所看到的組合框只能存放字符串和int類型的值,但這正是我試圖實現的目標。Java JPanel組合框包含對象類型

Class Node 
{ 
    //code here 
} 

Node a = new Node(); 
Node b = new Node(); 

//I am wondering if I can somehow achieve something like 
Node item = comboBox.getSelectedItem(); 

所以我想要組合框來保存Node類型的項目。組合框將允許a和b值,但是選中時它們將註冊爲節點對象。我不確定這甚至可能,但只是想知道。感謝輸入:)

+0

你想顯示什麼來表示每個節點對象? – supersam654 2013-04-11 12:26:23

+1

http://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html包含有關如何在組合框內使用自定義對象的信息 – 2013-04-11 12:28:42

回答

1

是的,JComboBox能夠包含任何類型的對象。 從1.7開始,您也可以使用模板定義來定義包含的類型。

+3

默認情況下,顯示的值將從對象中使用toString(),除非您指定一個ListCellRenderer。 – 2013-04-11 12:25:38