我試圖製作一個多列JComboBox。我環顧四周,這似乎是一件非常棘手的事情。除非有很多人,否則我不想擁有一個表格(在其中選擇一行):我需要消除JComboBox中的滾動條,爲了達到這個目的,我想將它的項目放在多列列表中,而不是隻將它們放在一列中。如何將另一個LayoutManager應用於JComboBox? (多列JComboBox嘗試)
我最好的選擇,到目前爲止是這樣做:
JComboBox dropdown = new JComboBox(validValues);
CellRendererPane crp = (CellRendererPane) dropdown.getComponent(1);
crp.setLayout(new GridLayout(4, 4)); // for 16 items...
但它不工作。它仍然在單個列中放置單元格。我在設置LayoutManager之後嘗試添加項目,但它不影響結果。
任何人都有關於如何實現這一目標的線索?
到目前爲止,我已經看到ListCellRenderer是無用的。它只規定了如何繪製一個單元格(一次一個),而不是如何繪製所有單元格(它們彼此的相對位置是什麼)。
歡迎任何幫助!
謝謝!
MJ
謝謝!幾乎所有的工作......直到細胞原型線。我設法有一個巨大的彈出窗口,一個巨大的JList,但JScrollPane(JList所在的)仍然是JComboBox的寬度。我設置的單元格原型(looong JLabel)僅影響單元格的大小(可能是JList;我看到單元格大得多),但不是JScrollPane的寬度(或者是因爲JViewport?)。任何想法? – Joanis 2011-03-07 23:56:37
@ M.Joanis,見上面的編輯。 – camickr 2011-03-08 04:29:31