[英]Swing - How to add a JPopupMenu in a JTable Cell
我想为 JTable 的一列的每个单元格插入一个 JPopupMenu(以便能够选择多个项目)。 知道怎么做吗?
对于一个单元格中的多个选择,您既需要自定义渲染器,又需要编辑器 。 对于编辑器组件,请使用选择模式设置为MULTIPLE_INTERVAL_SELECTION
的JList
。 渲染器应显示适合内容的内容,例如,逗号分隔的值列表。 请注意,每一行的数据必须存储在TableModel
,而不是存储在渲染器和编辑器本身中。 详细信息将取决于您的数据模型,但List<String>
或EnumSet<String>
可能是合适的。
回答您的问题如何在JTable单元中添加JPopupMenu? 您可以执行以下操作:
private final JTable table = new JTable(model);
DefaultCellEditor ce = (DefaultCellEditor)table.getDefaultEditor(Object.class);
JTextComponent tc = (JTextComponent)ce.getComponent();
JPopupMenu popup = new JPopupMenu();
//add items to popup here
tc.setComponentPopupMenu(popup);
请参阅此工作示例 。
您说过“能够选择多个项目” :可能您没有在其答案中使用JPopupMenu
作为@trashgod状态。
希望这会有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.