首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
hash
tags
md5
future
list
loops
export
controller
email
random
dagger
keyword
yaml
chat
import
metadata
main
flutter
buffer
php8
python3
golang
hashcode
post
hashset
config
heatmap
scala
version
cPlusPlus
const
filter
jsp
int
ip
testing
httprequest
blob
case
string
spring
datetime
window
merge
format
triggers
byte
hashtable
bash
expression
get
lua
io
jar
ascii
replace
js
substring
web
web3
settings
text
rsa
php7
httpclient
copy
process
input
python
include
iostream
grid
default
javascript
typescript
header
audio
bytecode
dll
当前位置:
开发笔记
>
编程语言
> 正文
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
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
list
深入解析ExpandableComposite.addExpansionListener()方法及其应用
本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ...
[详细]
蜡笔小新 2024-12-27 16:11:49
scala
Akka BackoffSupervisor的深入解析与实践
本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ...
[详细]
蜡笔小新 2024-12-27 15:04:09
post
Handling Null Object Encoding in OAuth 1.0a API Implementation
Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ...
[详细]
蜡笔小新 2024-12-28 08:54:34
post
新浪笔试题
1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ...
[详细]
蜡笔小新 2024-12-27 19:32:17
main
如何通过按钮聚焦ListView的TextCell? - How to focus ListView's TextCell by button?
IneedtofocusTextCellsonebyoneviaabuttonclick.ItriedlistView.ScrollTo.我需要通过点击按钮逐个关注Tex ...
[详细]
蜡笔小新 2024-12-27 17:02:23
version
Java 序列化接口详解
本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ...
[详细]
蜡笔小新 2024-12-27 15:06:12
main
Unity 客户端框架设计:UI管理系统的构建
本文详细介绍了如何构建一个高效的UI管理系统,集中处理UI页面的打开、关闭、层级管理和页面跳转等问题。通过UIManager统一管理外部切换逻辑,实现功能逻辑分散化和代码复用,支持多人协作开发。 ...
[详细]
蜡笔小新 2024-12-27 10:28:40
list
DataGridView 保存时,为什么当前单元格的值无法保存?
在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ...
[详细]
蜡笔小新 2024-12-27 09:27:14
buffer
2023年京东Android面试真题解析与经验分享
本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ...
[详细]
蜡笔小新 2024-12-26 17:45:48
config
从 .NET 转 Java 的自学之路:IO 流基础篇
本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ...
[详细]
蜡笔小新 2024-12-26 17:37:25
list
优化ListView性能
本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ...
[详细]
蜡笔小新 2024-12-28 10:36:30
main
Java并发编程:LinkedBlockingQueue的实际应用
本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ...
[详细]
蜡笔小新 2024-12-27 18:51:49
version
XNA 3.0 游戏编程:从 XML 文件加载数据
本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ...
[详细]
蜡笔小新 2024-12-27 11:39:44
version
使用 SQLiteJDBC 和 HikariCP 实现 Java 程序连接 SQLite 数据库
本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ...
[详细]
蜡笔小新 2024-12-26 17:34:42
buffer
解析JSON格式文本并处理数据
本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ...
[详细]
蜡笔小新 2024-12-26 16:06:09
anilshen_333
这个家伙很懒,什么也没留下!
Tags | 热门标签
hash
tags
md5
future
list
loops
export
controller
email
random
dagger
keyword
yaml
chat
import
metadata
main
flutter
buffer
php8
python3
golang
hashcode
post
hashset
config
heatmap
scala
version
cPlusPlus
RankList | 热门文章
1
程序分析与优化9附录XLA的缓冲区指派
2
关于swarm:Swarm物理节点矿机怎么买有啥要求
3
集合_Java大集合拆分为指定大小的小集合
4
python rpy2 setseed_带rpy2和多处理的熊猫
5
设计模式 之 装饰者
6
第五周课堂实践之改进
7
php网站设计实验报告,php网站开发实训报告
8
学习武汉Java开发的几个误区,你中招了没有?
9
可以在Timer1_Tick事件里面写Button1_Click事件么?这样写怎么不对?
10
Java中对XML的解析详解
11
swift中的动画
12
Win10+Python3.7+Tensorflow安装
13
Kylin 单节点安装
14
shell脚本逐行读取文件方法
15
P4867Gty的二逼妹子序列(莫队+分块)
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有