许多人可能知道,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