swing表格JTalble添加数据(数据类型实现自定类型,如颜色,组合框等控件)还有实现控件的功能—添加事件

简介: swing表格JTalble添加数据(数据类型实现自定类型,如颜色,组合框等控件)还有实现控件的功能—添加事件

swing表格JTalble添加数据(数据类型实现自定类型,如颜色,组合框等控件)还有实现控件的功能—添加事件


 

  1.总结一下:

  1. 1.   样式的话,通过表格的渲染器改变,而功能的改变(例如添加组合框控件,数据变成组合框选中的—表格编辑器实现)
  2. 2.    想要实现:选中颜色,代表颜色就改变为选中的颜色:添加事件
  3. 3.    对于组合框有点小问题:选中后会调用两次方法,因为组合框有两种状态:选中状态和取消状态,所以事件中需要判断组合框的状态,然后再实现组合框的选中事件,就解决问题啦

 

 2.效果:


23.png


3.实现细节:


24.png


3-2、实例化一个表格:JTable实例的时候没有传入参数,想要后边通过mode 来重新设置表格控件的表头和数据。


25.png


(ps:为了有表头的样式,先把表格控件添加到滚动面板里,然后再添加到内容面板。)

 

 

 

3-3. 定义二维数组Object[ ][ ]的数据 和 String[ ] 的表头名称,用来作为参数传入后边的mode表格模式。


26.png


3-4.    通过封装一个方法来设置表格模式,方法里,实例了DefaultTableMode默认的模式,并且把数据和表头名称作为参数传入,然后通过表格的 .setModel(模式对象)来设置表格模式。


27.png


样子:

28.png


(不够完美,所以我们选择了UIManager管理器来设置控件的样式)

 

 

3-5 、  先设置表格和表头中的字体样式:

 

通过UIManger.put(key, value); 把表格字体Table.font / TableHeader.font 作为参数key传入, Font对象作为value传入。

29.png


 3-6.    看一下,如果表格格子太窄了,就设置一下表格的行高像素:

 

通过.setRowHeight(像素);



30.png


3-7

31.png


(不完美,所以我们需要渲染器渲染显示出颜色)

 

3-8、    因为要重写的内容很多,所以外部类啦,外部类继承DefaultTableCellRenderer,然后重写setValue函数,判断如果值value是Color类型则设置为背景颜色。

32.png


3-9、   然后获取表格中我们想要的那一列,给它设置上我们的渲染器(通过.getColumn(“目标列”).setCellRenderer(渲染器对象) )。


33.png


3-10.

34.png

解决:


35.png


 3-11、 渲染器只能渲染,改变外观。想要修改功能,通过.setCellEditor(单元格编辑器)。


36.png


 

3-12、想要实现选择下拉列表框后选中颜色,能够修改颜色---添加事件

 

3-13. 下拉列表框的话有点小问题:就是选完选项,方法会被调用两次。

 

37.png


因为:

38.png


39.png


目录
打赏
0
0
0
0
49
分享
相关文章
|
9月前
|
阿里云数据库 ClickHouse 云原生版产品解析
ClickHouse 介绍ClickHouse 是一款当前非常流行的开源在线分析型数据库。ClickHouse 主要应用于实时数仓构建、大数据加速分析、宽表日志分析等通用场景,服务于流量漏斗分析,用户行为分析,人群圈选,用户画像,广告投放人群评估、ABTest 、大促分析,CDP/DMP 等业务场景...
249 0
Python中的装饰器:提升代码灵活性与可维护性
Python中的装饰器是一种强大的工具,可以在不修改原始函数代码的情况下,动态地添加功能。本文将介绍装饰器的基本概念、使用方法以及实际应用场景,帮助开发者更好地理解和利用装饰器提升代码的灵活性和可维护性。
链路追踪(Tracing)其实很简单——请求轨迹回溯
作者:夏明(涯海) 创作日期:2022-07-14 专栏地址:【稳定大于一切】【稳定大于一切】在日常生活中,我们可能都经历过以下场景:疫情突然爆发,去医院排队做核酸检测,但是预约检测页面迟迟无法打开;iphone 新款发布日促销秒杀,下单页面一直卡住转菊花;超市店庆打折,队伍排成长龙,前面的人付款却...
250 0
链路追踪(Tracing)其实很简单——请求轨迹回溯
Idea使用系列之一:Idea设置类注释模板和方法注释模板
现在Idea越来越流行了,自己慢慢开始从Eclipse转向Idea开发。刚开始使用Idea,肯定会遇到各种各样的设置问题,所以在博客上专门有个文章系列进行记录,希望给转Idea开发的同学一点帮助。 设置类模板 设置方法模板
Idea使用系列之一:Idea设置类注释模板和方法注释模板
阿里云长文本语音合成接口的JavaSDK调用
智能语音交互(Intelligent Speech Interaction),是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互体验。适用于多个应用场景中,包括智能问答、智能质检、法庭庭审实时记录、实时演讲字幕、访谈录音转写等场景,在金融、保险、司法、电商等多个领域均有应用案例。本文介绍如何使用阿里云智能语音服务提供的长文本语音合成Java SDK,包括SDK的安装方法及SDK代码示例。
790 0
阿里云长文本语音合成接口的JavaSDK调用
InnoDB unique check 的问题
unique secondary index 是客户经常使用的场景,用来保证index 上的record 的唯一性。但是大量的客户在使用unique secondary index以后,会发现偶尔会有死锁或者不应该锁等待的时候,却发生锁等待的情况。也有很多客户来问我们这个问题。理论上PolarDB ...
146 0
InnoDB unique check 的问题
|
9月前
|
无需重启应用,动态采集任意点位日志
借助日志治理的现有能力,我们能够在不重启应用的前提下,动态采集任意点位信息,同时由于日志治理在采集信息时会引入链路信息,在分析复杂调用问题时能够起到很好的效果。
124 0
无需重启应用,动态采集任意点位日志
阿里云服务器价格自己查(价格计算器一键搞定)不求人
阿里云服务器价格可以使用阿里云推出的价格计算器来计算出价格明细,通过选择云服务器CPU内存配置、地域节点、系统盘、公网带宽等信息,会自动计算出云服务器配置价格、系统盘价格价格明细和公网带宽价格等,很方便,阿里云服务器报价不求人,阿里云价格计算器了解一下
8015 0
阿里云服务器价格自己查(价格计算器一键搞定)不求人

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等