許多人可能知道,JList中的組件不可互動(您無法與它們交互),它們就像組件外觀的快照。我正在研究一個簡單的應用程序,JList是我想要的,除了列表中的組件應該是可交互的。創建一個可交互的JList
到目前爲止,我已經創建了這一點,通過一個簡單的AbstractListModel和ListCellRenderer:
在JList中每個組件一個JPanel,正如你可以看到含有其它成分JProgressBar的一樣, JLable和JButton。唯一的問題是按鈕(和所有其他組件)不可互動。我怎樣才能解決這個問題 ?
注意:我不想單個列JTable!
考慮使用佈局來生成一個垂直對齊的組件列表,而不是從SwingX或BoxLayout的VerticalLayout例如 – MadProgrammer
@MadProgrammer我實際上確實有這樣一個計劃,以防萬一JList無法修復(使用JPanel與GridLayout是我的)。但我會等待這個問題的答案。 –
我認爲你自己回答了,'JList'不可編輯,它不是可以設計的,並且試圖改造,是很多辛苦工作(是的,我實際上已經嘗試過)。你可以在JList上使用'MouseListener',找到被點擊的行,將'MouseEvent'翻譯成'ListCellRenderer'的上下文並確定被點擊的內容......但第一個選項是更快,更簡單(使用佈局管理器) – MadProgrammer