首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
random
node.js
dagger
express
const
uml
schema
dockerfile
case
vba
select
join
python
include
lua
default
window
config
tags
hook
ascii
fetch
replace
main
perl
filter
cpython
merge
subset
int
httpclient
copy
python3
jar
hashcode
md5
match
process
cookie
actionscrip
uri
substring
regex
keyword
grid
iostream
tree
erlang
text
frameworks
char
settings
c语言
io
sum
command
object
httprequest
php8
format
foreach
email
input
install
metadata
client
byte
less
integer
loops
go
shell
future
string
yaml
hashset
heap
import
callback
当前位置:
开发笔记
>
编程语言
> 正文
JTableHeader添加全选,反选checkbox
作者:anilshen_333 | 来源:互联网 | 2023-08-12 12:14
在JTableHeader上画了组件,例如一个一个checkbox,再给checkbox一个监听,会发现checkbox的选择消息怎样也不会给触发,这里做了一
在JTableHeader
上画了组件, 例如一个一个checkbox, 再给checkbox一个监听, 会发现checkbox的选择消息怎样也不会给触发, 这里做了一个很土的方法, 给TableHeader添加鼠标单击消息监听器.
老实说做做 SWING要做特效的时候经常要到处找, 要么就是添加新的Renderer, 新的Model, 冇法子MVC嘛.
还好做得不多.
哪位大仙要是有更好的方法, 能让TableHeader更加灵活的添加组件并且相应的, 记得回个帖. 因为这个用鼠标监听确定哪列确实应用有限.... 能够解决TableHeader能传递消息到 checkbox的监听器的话, 那肯定是对SWING很有研究的.
final
int
tableFirstColumn
=
0
;
final
JTableHeader tableHeader
=
table.getTableHeader();
final
JCheckBox selectBox
=
new
JCheckBox(tblModel
.getColumnName(tableFirstColumn));
selectBox.setSelected(
true
);
tableHeader.setDefaultRenderer(
new
TableCellRenderer()
...
{
public
Component getTableCellRendererComponent(JTable table,
Object value,
boolean
isSelected,
boolean
hasFocus,
int
row,
int
column)
...
{
String valueStr
=
(String) value;
JLabel label
=
new
JLabel(valueStr);
label.setHorizontalAlignment(JLabel.CENTER);
selectBox.setHorizontalAlignment(JLabel.CENTER);
selectBox.setBorderPainted(
true
);
JComponent component
=
(column
==
tableFirstColumn)
?
selectBox
: label;
component.setForeground(tableHeader.getForeground());
component.setBackground(tableHeader.getBackground());
component.setFont(tableHeader.getFont());
component.setBorder(UIManager
.getBorder(
"
TableHeader.cellBorder
"
));
return
component;
}
}
);
tableHeader.addMouseListener(
new
MouseListener()
...
{
public
void
mouseClicked(MouseEvent e)
...
{
if
(e.getClickCount()
>
0
)
...
{
int
selectColumn
=
tableHeader.columnAtPoint(e.getPoint());
if
(selectColumn
==
tableFirstColumn)
...
{
boolean
value
=
!
selectBox.isSelected();
selectBox.setSelected(value);
tblModel.selectAll(value);
tableHeader.repaint();
}
}
}
public
void
mouseEntered(MouseEvent e)
...
{
}
public
void
mouseExited(MouseEvent e)
...
{
}
public
void
mousePressed(MouseEvent e)
...
{
}
public
void
mouseReleased(MouseEvent e)
...
{
}
}
);
mvc
checkbox
header
string
final
int
get
select
default
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
int
大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ...
[详细]
蜡笔小新 2024-11-11 19:05:59
int
2.2 组件间父子通信机制详解
2.2 组件间父子通信机制详解 ...
[详细]
蜡笔小新 2024-11-11 14:58:09
int
深入解析Properties属性类及其应用
属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ...
[详细]
蜡笔小新 2024-11-11 13:55:43
int
深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ...
[详细]
蜡笔小新 2024-11-09 19:04:36
int
分享一款基于Java开发的经典贪吃蛇游戏实现
本文介绍了一款使用Java语言开发的经典贪吃蛇游戏的实现。游戏主要由两个核心类组成:`GameFrame` 和 `GamePanel`。`GameFrame` 类负责设置游戏窗口的标题、关闭按钮以及是否允许调整窗口大小,并初始化数据模型以支持绘制操作。`GamePanel` 类则负责管理游戏中的蛇和苹果的逻辑与渲染,确保游戏的流畅运行和良好的用户体验。 ...
[详细]
蜡笔小新 2024-11-08 17:59:38
int
SQL 查询实体优化与实战技巧分享
SQL 查询实体优化与实战技巧分享 ...
[详细]
蜡笔小新 2024-11-08 13:52:29
int
使用ObjectMapper实现JSON与JavaBean的高效转换
本文介绍了如何利用ObjectMapper实现JSON与JavaBean之间的高效转换。ObjectMapper是Jackson库的核心组件,能够便捷地将Java对象序列化为JSON格式,并支持从JSON、XML以及文件等多种数据源反序列化为Java对象。此外,还探讨了在实际应用中如何优化转换性能,以提升系统整体效率。 ...
[详细]
蜡笔小新 2024-11-08 13:21:48
int
开发日志:201521044091 《Java编程基础》第11周学习心得与总结
开发日志:201521044091 《Java编程基础》第11周学习心得与总结 ...
[详细]
蜡笔小新 2024-11-08 11:15:11
int
MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ...
[详细]
蜡笔小新 2024-11-11 19:36:19
int
Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨
在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ...
[详细]
蜡笔小新 2024-11-11 14:49:31
int
基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ...
[详细]
蜡笔小新 2024-11-11 10:58:21
int
如何使用 `org.eclipse.rdf4j.query.impl.MapBindingSet.getValue()` 方法及其代码示例详解
如何使用 `org.eclipse.rdf4j.query.impl.MapBindingSet.getValue()` 方法及其代码示例详解 ...
[详细]
蜡笔小新 2024-11-11 02:42:52
int
自定义 Android 圆形进度条视图,支持显示数字和中心文字
本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ...
[详细]
蜡笔小新 2024-11-10 13:04:42
int
艾伟深入解析:WCF Binding模型中的绑定元素详解
本文深入解析了WCF Binding模型中的绑定元素,详细介绍了信道、信道管理器、信道监听器和信道工厂的概念与作用。从对象创建的角度来看,信道管理器负责信道的生成。具体而言,客户端的信道通过信道工厂进行实例化,而服务端则通过信道监听器来接收请求。文章还探讨了这些组件之间的交互机制及其在WCF通信中的重要性。 ...
[详细]
蜡笔小新 2024-11-09 17:13:19
int
Oracle 数据库操作日志与 MyBatis 在 Oracle 中的增删改查实现详解
本文详细介绍了在 Oracle 数据库中使用 MyBatis 实现增删改查操作的方法。针对查询操作,文章解释了如何通过创建字段映射来处理数据库字段风格与 Java 对象之间的差异,确保查询结果能够正确映射到持久层对象。此外,还探讨了插入、更新和删除操作的具体实现及其最佳实践,帮助开发者高效地管理和操作 Oracle 数据库中的数据。 ...
[详细]
蜡笔小新 2024-11-09 14:28:39
anilshen_333
这个家伙很懒,什么也没留下!
Tags | 热门标签
random
node.js
dagger
express
const
uml
schema
dockerfile
case
vba
select
join
python
include
lua
default
window
config
tags
hook
ascii
fetch
replace
main
perl
filter
cpython
merge
subset
int
RankList | 热门文章
1
深入解析米拓源代码的技术细节与实现方法
2
Python学习心得:掌握基础功能的实践笔记
3
Nginx 配置不当导致频繁重定向问题分析与解决
4
《从零开始掌握容器云网络实战》技术专栏全新上线
5
如何在Edge浏览器中实现无痕浏览以避免留下访问记录
6
HBase Java API 进阶:过滤器详解与应用实例
7
Oracle 需要一个 SQL 脚本,用于将多个绑定变量一次性插入到查询语句的 WHERE 子句中。
8
Markdown 中运用 HTML 属性的技巧与实践
9
如何利用下降沿触发的JK触发器设计同步二分频和四分频电路?
10
妻子指导我深入学习机器算法
11
利用Python进行学生学业表现评估与成绩预测分析
12
Golomb 编码解析:利用零位标识商与余数的高效算法
13
Java中如何正确使用return语句
14
捕获并处理用户输入数字时的异常,提供详细的错误提示与指导
15
设计实战 | 10个Kotlin项目深度解析:首页模块开发详解
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有