我知道这是一个非常基本的问题,我在表格的第一列中有复选框问题是复选框不可点击。我搜索了类似的线程并尝试将布尔编辑器分配给列并覆盖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);
答案 0 :(得分:2)
您的JCheckBox
不可编辑,因为您为列设置了Renderer
,但要进行编辑,您需要添加Editor
,请详细了解Editors and Renderers。
另一种方法是覆盖getColumnClass()
的{{1}}方法,并为列返回TableModel
:
Boolean.class
答案 1 :(得分:1)
您应该使用自定义表格模型,将复选框列作为可编辑格式返回。请查看此链接以获取更多信息和示例:https://stackoverflow.com/a/2901500/1843508