java jcheckbox事件_java – JTable中的JCheckBox行为

本文介绍了一位开发者在JTable中插入复选框遇到的问题,即用户点击复选框时无法直接选中,而是弹出True或False选项。解决方案是通过在TableModel中重写getColumnClass(int index)方法,返回需要复选框的列的Boolean.class,让JTable自动使用复选框作为渲染器和编辑器。
摘要由CSDN通过智能技术生成

我按照在线某处的指示在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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值