Jtable复选框不可编辑

时间:2015-01-19 10:01:23

标签: java swing jtable

我知道这是一个非常基本的问题,我在表格的第一列中有复选框问题是复选框不可点击。我搜索了类似的线程并尝试将布尔编辑器分配给列并覆盖getColumnClass ()但我不能这样做这是我到目前为止所尝试的

String[] columnNames = {"Column 1", "Column 2"};  
DefaultTableModel model = new DefaultTableModel(columnNames, 0);  
table=new JTable(model );  
table.getColumnModel().getColumn(0).setCellRenderer( table.getDefaultRenderer(Boolean.class) );  

ArrayList<org.jsoup.nodes.Element >arr=GetrowCount("http://www.mit.edu/");
for (org.jsoup.nodes.Element element :  arr) {
    Object[]  rows = {Boolean.FALSE, element};  
    model.addRow( rows );
}

scrollPane=new JScrollPane(table);

panel.add(scrollPane);
this.add(panel);
this.setSize(300,300);

2 个答案:

答案 0 :(得分:2)

您的JCheckBox不可编辑,因为您为列设置了Renderer,但要进行编辑,您需要添加Editor,请详细了解Editors and Renderers

另一种方法是覆盖getColumnClass()的{​​{1}}方法,并为列返回TableModel

Boolean.class

答案 1 :(得分:1)

您应该使用自定义表格模型,将复选框列作为可编辑格式返回。请查看此链接以获取更多信息和示例:https://stackoverflow.com/a/2901500/1843508