【发布时间】:2011-08-31 21:38:07
【问题描述】:
我需要一个具有相似JPanels 的容器,一个排列在另一个下方,可以选择。我可以:
- 将
JList与自定义渲染器一起使用,但那些JPanels 将是被动元素,这不是我想要的。 - 使用“活动”
JPanels 实现我自己的容器,但这些容器无法选择。或者他们可以选择吗? 也许MouseListener和访问系统默认选定背景颜色可能是一种方法,但似乎有点太费劲了 - 使用
JTable或JTree与自定义单元格编辑器呈现“活动”JPanel。但是这些活动部分只会在“第二次”点击时做出反应,首先是激活编辑器,其次是执行JPanel的实际操作。这也是不可接受的。
为了获得更直观的印象,以下是这可能意味着什么的示例:
一个 JList 包含列表项,每个列表项都有两个功能 JButtons。
【问题讨论】:
-
"..有点太费劲了" 有时程序员不得不放下咖啡和甜甜圈并实际编程。 :(
-
我不想不这样做。但我更喜欢可以在现有事物上构建而不是重写已有事物的解决方案。
-
关于3)何时或是否开始编辑取决于CellRenderer的实现:根据需要实现isCellEditable(EventObject)