编程语言
首页 > 编程语言> > java – JTable中的JCheckBox行为

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