JTable加入JCheckBox方法

JTable中 表头中添加 JCheckBox 全选 反向选择 功能 废话不多说,先上一张效果图 具体源码: CheckHeaderCellRenderer类 public class CheckHeaderCellRenderer implements TableCellRenderer {     CheckTableModle tableModel;     JTableHeader tableHeader;     final JCh 阅读详情

对于JTable而言,当你设置列属性为Boolean时,其默认显示出复选框外观,但是如果没有进行设置,是无法实现像 JCheckBox/CheckBox 的勾选功能。

 

当我在实现这一块的时候,刚开始也不懂,查阅网上资料,都基本只给出代码,而没讲为什么(这倒没什么,关键是代码一大坨,看都看晕),而且更为蛋疼的是,其实现较为复杂(比较主流的是设置CellEditora、CellRenderer)。经过摸索,最后发现其实并不需要那么麻烦,只需:①将要添加的CheckBox功能的单元格的数据类型设置为Boolean ②添加如下代码的前两句即可

 

【附】效果图及实现代码(含勾选功能的实现):

 

JTable加入JCheckBox方法

 
//设置第0列显示JCheckBox
TableColumnModel tcm = jTable1.getColumnModel();
tcm.getColumn(0).setCellEditor(new DefaultCellEditor(new JCheckBox()));

//添加标格监听事件
jTable1.addMouseListener(new MouseAdapter(){
    public void mouseClicked(MouseEvent e){
        if(e.getClickCount() == 1){
            int columnIndex = jTable1.columnAtPoint(e.getPoint()); //获取点击的列
            int rowIndex = jTable1.rowAtPoint(e.getPoint()); //获取点击的行

            if(columnIndex == 0) {//第0列时,执行代码
                if(jTable1.getValueAt(rowIndex,columnIndex) == null){ //如果未初始化,则设置为false
                      jTable1.setValueAt(false, rowIndex, columnIndex);
                  }

                if(((Boolean)jTable1.getValueAt(rowIndex,columnIndex)).booleanValue()){ //原来选中
                      jTable1.setValueAt(false, rowIndex, 0); //点击后,取消选中
                  }
                else {//原来未选中
                      jTable1.setValueAt(true, rowIndex, 0);
                  }
             }

        }
    }

});


转自:http://blog.sina.com.cn/s/blog_6cba238f0101cmrh.html

JTable添加CheckBox 一个JTable里添加CheckBox的完整例子,包括表头的JCheckBox全选联动 立即下载

相关推荐

西门子【Automation Framework V1.2】AF架构:从软件栈到高效自动化项目的构建蓝图

本文深入解析西门子Automation Framework V1.2 (AF架构) 的核心价值与实施蓝图。该框架通过定义标准化的软件栈(如TIA Portal V19、STEP7、WinCC Unified)和严格的安装配置流程,将自动化项目开发从依赖个人经验的“手工作坊”模式,转变为高效、可复制的工业化模式。遵循此架构,工程师能快速构建稳定可靠的项目基础,规避环境冲突,从而专注于核心工艺与逻辑设计,大幅提升团队协作与项目交付效率。

weixin_29230059的博客 429

【swing】Jtable表头及表格加CheckBox

Overrideif (column == 1 || column == 2) {// 列不可编辑} else {super();i++) {

smileageHi的博客 1397

Matlab系列之GUI设计基础

Matlab系列之GUI设计基础简介编辑界面菜单设计控件设计控件描述个人理解Matlab转译控件属性【1】外观与行为【2】控件对象的信息【3】回调函数【4】状态信息结束结束更多精彩,等你发现~ 简介 GUI即图形用户界面(Graphical User Interface),人机交互的一种方式,可以简化用户的操作,比如只需要点点窗口上的按键或者菜单选择等等,就可以实现一个复杂的功能,有点类似黑盒的操作吧。 本篇将主要介绍GUI的使用,以及一些功能,后续的篇章再使用GUI来设计实例。 打开GUI可以在Matla

Smart_Devil的博客 5万+

在JTable里面添加JCheckBox的几种方法

刚了解的几种简单的实现方法 方案一 写一个类继承DefaultTableModel或者AbstractTableModel 复写里面的方法@Override public Class<?> getColumnClass(int columnIndex) { return this.getValueAt(0, columnIndex).getClass(); }这

zeng_w_j123的博客 3159

麒麟OS恢复出厂设置原理与实操:非重装的系统状态回滚

Linux操作系统中的‘恢复出厂设置’并非简单重装或镜像还原,而是一种基于状态快照、包管理与配置模板的可控回滚机制。其核心原理依赖LVM快照技术、RPM包签名验证和预置配置模板,兼顾系统稳定性与用户数据安全。该方案在政务、教育等国产化场景中具有显著技术价值——不格式化硬盘、不丢失/home文档、不重配驱动与授权,大幅降低运维复杂度。典型应用场景包括系统卡顿修复、软件冲突清理、桌面环境异常恢复等。本文深入解析银河麒麟V10的kylin-restore-cli工具链与麒麟管家集成逻辑,聚焦‘恢复出厂设置’这一高

weixin_30879169的博客 774

C++ Qt6 QtQuick/QML入门进阶与项目实战视频教程

C++ Qt这些年在PC客户端、嵌入式、汽车座舱仪表等领域应用很广泛,例如剪映专业版、微信4.0、亿图脑图、Steam、美图秀秀、腾讯会议、钉钉(部分模块)等都是使用C++ QWidget/QML开发。特别是QML这种声明式UI开发更加快捷,QML的界面开发效率相对于QWidget更快速,界面效果更好,QtQuick/QML在Qt6版本也逐渐完善了,使用QML进行客户端开发是个不错的选择。

琅嬛福地 4490

Java中插入表格(JTable)及在表格中加入复选框

package menu; import java.awt.Component; import java.awt.Dimension; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Vector; import...

仙女的博客 7328

1. 迈进 SAP UI5 开发世界的第一步 - Hello World

SAP UI5 是一个用于开发企业级 Web 应用的前端框架,基于 HTML 和 JavaScript. 作为教程的第一步,我们需要了解最基础的 HTML 知识。 请大家在电脑上任意新建一个文件夹,将其命名,比如我取的名称为 Walkthrough. 进入 Walkthrough 文件夹,再新建一个文件夹名叫 01,代表本教程的第一个步骤。 进入 01 文件夹,新建一个 webapp 文件夹。这个名称是 web 应用约定俗成所使用的,大家都倾向于用这个名称,当然你要是想用其他名称也没有问题。......

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 9008

JTable中,显示checkbox以及更改选中状态

转自:http://blog.youkuaiyun.com/silence1214/article/details/6118054 JTable中,显示checkbox以及更改选中状态 继续做完的JTable的来学习和实践,默认情况下构造的JTable,内容是死的,不能更改,可以通过实现3个TableModel来作为JTable构造时候的参数穿进去,就可以灵活的对JTable就行构造了,来看下

auragreen的专栏 4254

亚马逊跨境电商选品数据分析:Python爬虫实战指南

本文将带领大家构建一套完整的亚马逊选品数据采集与分析系统,使用最新的Python技术栈,从零开始爬取亚马逊商品数据,并进行深度分析。

2201_76125261的博客 299

飞牛fnNAS搭建web版微信

摘要:本文介绍了一种通过Docker在飞牛NAS上部署微信客户端的方法,实现24小时同步微信聊天记录。具体步骤包括:1)激活飞牛NAS的Docker功能并配置镜像加速源;2)创建专用文件夹并下载docker-wechat镜像;3)设置容器参数并部署微信客户端;4)通过局域网或ZeroTier内网穿透实现远程访问。相比传统Windows/Linux方案,该方法资源占用更低,适合需要长期保存微信聊天记录的用户。

dgnankai的专栏 3336

JTable中添加JCheckBox(附完整测试程序)

  怎么在JTable中添加别的组件。一般情况下JTable只认String之类的,对Swing中的组件是不认的。后来到网上搜了下,看到还是有不少人有这样的迷惑。不过也有人提出了解决之道。         JTable中有一个TableModel接口,默认情况下,有一个DefaultTableModel实现。可以通过对TableModel行列数据操作来达到对表格操作。         对于每一个C

jingfang_2006的专栏 2407

3. 动手运行第一个 SAP Fiori Elements 应用(ListReport 类型)

这个代理服务器能够自动监听我们 Fiori Elements 应用里向 ES5 Demo 系统发送的 OData 请求,拦截这个请求,并通过 Node.js 代码向 ES5 服务器转发,拿到响应数据后再交还给 Fiori Elements 应用。后者对自己发出的请求被代理这件事情一无所知。本文的任务是,大家按照我的介绍,在本地成功运行笔者准备的这个 Fiori Elements 应用。的错误消息, 说明大家安装的 Node.js 版本没有达到本地运行 Fiori Elements 的最低要求。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1672

JAVA-SWT如何在Jtable单元格中加入复选框Jcheckbox,Jbutton,JcomboBox

项目用到一个需求就是在Jtable单元格中加复选框Jcheckbox或者Jbutton,在网上终于找到了解决的办法。可惜,加两个Jbutton的问题还没有解决。 先记下如何在如何在Jtable单元格中加复选框Jcheckbox和JComboBox。 第一种:自定义自己的TableModel类。 这种方法核心是需要实现getColumnClass()方法,只要覆盖tablemodel的getC...

java开发指南博客 【转载】 1663

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

jtable表头及表格中添加jcheckBox

 表格头渲染器: package cn.ait.amfp.ui.util; import java.awt.Component; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JCheckBox; import javax.swing.JCompon

文轩以墨 897

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

JTable的列中添加JCheckBox组件

JTable的列中添加JCheckBox组件   转载▼ 分类: 我的工作总结 今天做项目 用到了jtable的列中添加jcheckbox组件,网上搜了下发现下面的小例子很不错: import javax.swing.*; import javax.swing.table.*; import java.awt.*;

颠沛流离的青春〃--ゞ沫小陌ぴ 2371

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java jtable 可编辑_java-使JTable中的JCheckBox可编辑

我的JTable需要帮助.我正在编写一个程序,将数据库中的数据提取到JTable中.第一列应该是可编辑的JCheckBox,这样我就可以处理已检查(正确或错误)的行和数据.我正在使用AbstractTableModel(类扩展了AbstractTableModel)并覆盖了这五个方法:@Overridepublic boolean isCellEditable(int rowIndex, int ...

weixin_35503004的博客 342

JCheckBox 和 JTable 的使用

1.JCheckBox a  = new JCheckBox("a", false);//  定义名字和一开始的值 a.setBounds(37, 94, 116, 21); 添加进入容器      add(a); 2.事件 使用继承了 ItemListener的 类  添加监视器 a.addItemListener(this);    //假设  JFrame所在的类继承 了接

Pruett的博客 1363

Java Swing 在 JTable 中给 JCheckbox 绑定事件的方法

踏破铁鞋无觅处,得来全不费功夫,原来在 JTable 中绑定监听事件的最简单方法就是直接绑定 MouseEventListener ,害我找得好苦,优快云、ITEYE、OSCHINA 上都没有指出相应的方法,坑爹啊。 table.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) {

NullPointerException 3470

JTable中使用复选框JCheckBox时遇到的问题

根据Java文档,JTable中使用的默认编辑器DefaultCellEditor中,只有表的列值类型为Boolean就会自动使用check box的renderer和editor [1],但实际上不行,生成JTable实例后,得重新配置相应列的默认编辑器为JCheckBox,即 [2]: JTable jtable = new JTable(data, columnNames); jtabl...

guanshanyue的专栏 735

java 表头添加复选框,Jtable表头的第一列为JCheckBox的绘制方法

import java.awt.BorderLayout;import java.awt.Component;import java.awt.Dimension;import java.awt.EventQueue;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.util.Vector;...

weixin_29214335的博客 860

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

我按照在线某处的指示在JTable中插入复选框.这是我的代码:protected class JTableCellRenderer implements TableCellRenderer {@Overridepublic Component getTableCellRendererComponent(JTable table, Object value,boolean isSelected, b...

weixin_39725885的博客 362

JTable中 表头中添加 JCheckBox 全选 功能

JTable中 表头中添加 JCheckBox 全选 功能

东耳佳茗的博客 4827

java awt jtable 复选框_java swing 添加 jcheckbox复选框

1 importjava.awt.Component;2 2 importjava.awt.event.ActionEvent;3 3 importjava.awt.event.ActionListener;4 45 5 import javax.swing.*;6 6 import javax.swing.table.*;7 78 89 9 public...

weixin_32252271的博客 812
上一篇: C#中哈希表(HashTable)的用法详解
下一篇: 正则表达式
CodingTrueMan
博客等级 码龄14年 34粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值