我是Java Swing的初学者。我有一个有3列的表。第一列只有复选框。我想获取复选框中所有选定项目的索引,并将其存储在ArrayList
中。我怎么能做到这一点?
答案 0 :(得分:0)
看看这个,
http://www.java2s.com/Code/Java/Swing-JFC/SwingCheckBoxDemo.htm
如果要返回所有选定的项目,可以使用列表或设置。
发布您拥有的代码。我可以帮忙......
答案 1 :(得分:0)
当您使用JTable时,您使用TableCellRenderer作为“复选框列”。只要在第1列添加复选框,就会“知道”创建复选框的行。如您所知行(= index),您可以注册一个操作来收集复选框索引。
(从头开始)
public class MyRenderer extends DefaultTableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, final int row, int column) {
if (column != 1) {
return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
}
JCheckBox cb = new JCheckBox();
cb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
list.add(row); // whatever list is ...
}
});
return cb;
}
}