java – JTable中的JCheckBox行为
作者:互联网
我按照在线某处的指示在JTable中插入复选框.这是我的代码:
protected class JTableCellRenderer implements TableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
JCheckBox rendererComponent = new JCheckBox();
rendererComponent.setSelected((Boolean) tableModel.getValueAt(row,
column));
return rendererComponent;
}
}
我设法将复选框添加到JTable,但是当我运行程序时,我得到以下行为:
当用户点击复选框时,如何允许用户选中复选框,而不是从下拉菜单中选择True或False?谢谢!
解决方法:
你所遵循的方向很糟糕,因为没有必要摆弄渲染器或编辑器(顺便说一下,你的问题是你在不改变编辑器的情况下改变了渲染器).您所要做的就是在TableModel类中,重写getColumnClass(int index)方法并让它返回需要复选框的列的Boolean.class.而已. JTable将自动使用列的渲染器和编辑器的复选框,以非常简单的方式解决您的问题.当然,不言而喻,该列的数据必须是布尔值才能使其工作.
关于JTables的Oracle教程将告诉你所有这些以及更多:How to use Tables
标签:jcheckbox,java,swing,jtable 来源: https://codeday.me/bug/20190826/1733613.html