繁体   English   中英

Swing - 如何在 JTable 单元格中添加 JPopupMenu

[英]Swing - How to add a JPopupMenu in a JTable Cell

我想为 JTable 的一列的每个单元格插入一个 JPopupMenu(以便能够选择多个项目)。 知道怎么做吗?

对于一个单元格中的多个选择,您既需要自定义渲染器,又需要编辑器 对于编辑器组件,请使用选择模式设置为MULTIPLE_INTERVAL_SELECTIONJList 渲染器应显示适合内容的内容,例如,逗号分隔的值列表。 请注意,每一行的数据必须存储在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM