我想为我的JTable列中的每个单元格插入一个JPopupMenu(以便能够选择多个项目)。 知道怎么做吗?
答案 0 :(得分:2)
对于单元格内的多个选择,您需要两个自定义renderer and editor。对于编辑器组件,请使用JList
,并将选择模式设置为MULTIPLE_INTERVAL_SELECTION
。渲染器应显示适合内容的内容,例如:以逗号分隔的值列表。请注意,每行的数据必须存储在TableModel
中,而不是存储在渲染器和编辑器本身中。详细信息取决于您的数据模型,但List<String>
或EnumSet<String>
可能是合适的。
答案 1 :(得分:0)
回答你的问题如何在JTable Cell中添加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);
请参见此工作example。
您说&#34;能够选择多个项目&#34; :在他的回答中,您可能无法使用JPopupMenu
作为@trashgod状态。
希望这可以提供帮助。