JTable加入JCheckBox方法
来源:互联网 发布:smtp 默认端口 编辑:程序博客网 时间:2024/06/06 02:41
对于JTable而言,当你设置列属性为Boolean时,其默认显示出复选框外观,但是如果没有进行设置,是无法实现像 JCheckBox/CheckBox 的勾选功能。
当我在实现这一块的时候,刚开始也不懂,查阅网上资料,都基本只给出代码,而没讲为什么(这倒没什么,关键是代码一大坨,看都看晕),而且更为蛋疼的是,其实现较为复杂(比较主流的是设置CellEditora、CellRenderer)。经过摸索,最后发现其实并不需要那么麻烦,只需:①将要添加的CheckBox功能的单元格的数据类型设置为Boolean ②添加如下代码的前两句即可
【附】效果图及实现代码(含勾选功能的实现):
//设置第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);
}
}
}
}
TableColumnModel tcm = jTable1.getColumnModel();
tcm.getColumn(0).setCellEditor(new DefaultCellEditor(new JCheckBox()));
//添加标格监听事件
jTable1.addMouseListener(new MouseAdapter(){
});
转自:http://blog.sina.com.cn/s/blog_6cba238f0101cmrh.html
0 0
- JTable加入JCheckBox方法
- JTable中加入JCheckBox
- Jtable表头的第一列为JCheckBox的绘制方法
- 在JTable里面添加JCheckBox的几种方法
- JAVA-SWT如何在Jtable单元格中加入复选框Jcheckbox,Jbutton,JcomboBox
- JCheckBox 和 JTable 的使用
- Java Swing 在 JTable 中给 JCheckbox 绑定事件的方法
- 带JCheckBox的JTable的例子
- JTable的列中添加JCheckBox组件
- jtable表头及表格中添加jcheckBox
- JTable加入到JScrollPane
- Jtable加入复选框
- Jtable加入jpanel
- JTable中添加JCheckBox(附完整测试程序)
- JTable中 表头中添加 JCheckBox 全选 反向选择 功能
- JTable中 表头中添加 JCheckBox 全选 反向选择 功能
- JTable中 表头中添加 JCheckBox 全选 功能
- JCheckBox
- viewPager开启界面导航之旅
- 第十二周项目一 阅读程序(3)递归函数
- 第258天(26W+2)
- linux BASH编程学习笔记
- MariaDB WIN下安装记录
- JTable加入JCheckBox方法
- jQuery Table 系列: Jquery Table 的基本操作
- poj2528-Mayor's posters的树堆解法
- 面向对象第一节
- 刑警的射击成绩
- 第12周项目3-(2)1*3*。。。*n
- 第十二周项目Oj平台2
- LINQ的Order By (Descending) 操作
- 网络管理概述——snmp