失眠并不是一无是处,至少我认真完成了我的工作,而且还收获了很多。
对于一般的swing组件,设置透明就只用一句代码:
nameOfComponent.setOpaque(false);
但这一句代码不是万能的 ,当遇到JButton、JScrollPane、JTable等等组件的时候,这一句代码是完全不够用的,下面来总结一下吧~
JButton,按钮组件,用下面这句代码将其设置为透明:
jbt_login.setContentAreaFilled(false);
对比效果如图:
同时我们也可用自己定义的图片替换按钮(实际上将图片添加到按钮上),使我们的界面看起来更漂亮,通过以下代码实现:
jbt_login = new JButton("登 录");//实例化一个JButton对象 ImageIcon icon = new ImageIcon("images/loginBackground.jpg");//实例化一个图片对象 jbt_login.setIcon(icon); jbt_login.setContentAreaFilled(false);
JScrollPane视图,相对于JButton复杂一点,不过也就只多了一行代码:
name.setOpaque(false); name.getViewport().setOpaque(false);
不过值得注意的是,这两行代码只是让JScrollPane视图透明,在应用中添加在此视图上的其他组件也要都要setOpaque(false)。
JTable,队友说:我再也不想理JTable了,它太逗了。然后我笑了,不过现在发现JTable确实很逗,设置透明最为复杂。
JTable实例化的一个表分为表头和表体(我姑且这么叫),所以在设置透明的时候,也得分为两部分实现:
表体:
/* * * 将表格设置为透明,表格同样包括表格本身和其中的内容项 * 仅仅将表格本身设置为透明也没有用,应该将其中的内容项也设置为透明 * 内容项的设置是通过设置渲染器的透明来实现 */ table.setOpaque(false); DefaultTableCellRenderer render = new DefaultTableCellRenderer(); render.setOpaque(false);//将渲染器设置为透明 //将这个渲染器设置到fileTable里。 //这个设置在没有另外专门对column设置的情况下有效 //若你对某个column特殊指定了渲染器,则对于这个column,它将不调用render渲染器 //因此为了保证透明,如果你对column额外指定了渲染器,那么在额外的渲染器里也应该设置透明 table.setDefaultRenderer(Object.class, render);
注:在设置一个表透明的时候,一定的再设置之前有这个表,否则你动作的对象都没有,如何做这个动作呢?
表头:
//头部实际上也是一个JTABLE,只有一行而已。 JTableHeader header = fileTable.getTableHeader();//获取头部 header.setOpaque(false);//设置头部为透明 header.getTable().setOpaque(false);//设置头部里面的表格透明 /* * * 头部的表格也像前面的表格设置一样,还需要将里面的单元项设置为透明 * 因此同样需要对头部单元项进行透明度设置,这里还是用渲染器。 */ header.setDefaultRenderer(render); TableCellRenderer headerRenderer = header.getDefaultRenderer(); if (headerRenderer instanceof JComponent) { ((JComponent) headerRenderer).setOpaque(false); }
注:表头设置透明以后,表头部分的网格线会丢失,如果想将其补全的话可以用自己画。方法此处不提供。
下图为设置各个组件透明后的效果(由于效果,未设置表头透明):
就这么多吧,电脑慢得啊。。。电脑需要休息,人更需要休息,补觉去了~
相关推荐
【Java收费管理系统】是一个基于Java技术开发的软件应用,主要用于管理各类收费操作,例如停车场、公路收费站、公共交通系统等。这个简单的Java收费管理系统提供了一种高效、便捷的方式来追踪和处理费用收取过程,...
3. Hibernate:作为ORM(对象关系映射)工具,Hibernate简化了数据库操作,将Java对象与数据库表进行映射,实现数据的透明化访问。 4. MySQL:作为关系型数据库,MySQL提供了高效的数据存储和查询能力,满足了酒店...
如果“910qp”是某种代码或模块的代号,那么它可能对应着系统中的特定功能或组件。 综上所述,"java仓库管理系统.zip"是一个全面的仓库管理解决方案,利用Java技术栈构建,具备安全的身份验证、员工管理、物料追踪...
在这个画图软件中,Java的Swing或JavaFX库可能被用来构建用户界面,提供丰富的组件和高度定制的图形功能。开发者通过这些工具,可以方便地创建出具有专业级别的画布,支持用户进行自由绘画。 画图功能是这款软件的...
更重要的是,JTS遵循OpenGIS的标准,通过一套符合该标准的通用组件,实现了在网络环境下对各类地理数据和处理方法的透明访问。 #### 3. Eclipse RCP:打造强大的富客户端GIS应用 Eclipse Rich Client Platform...
在SSM框架中,Spring作为核心容器,负责管理应用程序的组件,如bean的创建、依赖注入等。SpringMVC作为Spring的Web模块,处理HTTP请求和响应,提供了模型-视图-控制器(MVC)的设计模式,使业务逻辑与展示层分离。...
积极参与各类项目实践,积累丰富的实战经验,是成为一名真正的Java高手不可或缺的过程。 综上所述,成为一名真正的Java高手不仅需要扎实的技术基础,还要具备广泛的技能树和不断学习的心态。希望以上内容能对您有所...
在物流系统中,Java的面向对象特性有利于代码组织和维护,而Spring框架则常用于构建松耦合的组件,提供事务管理、数据访问等功能。 综上所述,"MVT.rar" 文件包含的物流配送系统是一个集成了地图查询功能的综合解决...
基于Java EE平台的项目管理系统不仅能够有效整合项目管理中的各项信息,还能提供一系列实用的功能,大大提高了项目管理的效率和透明度。通过本文档的学习,读者可以了解到如何利用Java EE及相关技术来设计并实现一个...
在医院人事管理系统中,这些组件协同工作,为系统提供了强大的支持: 1. 用户管理:系统可以管理医生、护士、行政人员等多种角色的个人信息,包括入职、离职、调动等人事变动记录。Spring的安全模块可以实现权限...
系统主要包括以下几个关键组件: - 识别模块:集成了人脸识别器、指纹识别器、IC卡读取器等多种生物识别技术,以及信息输入设备和接口,确保多样化的考勤方式。 - 考勤终端:与无线网络连接,用于收集考勤数据。 ...
6. 薪资管理:薪资管理功能涵盖薪资计算、发放、调整等操作,确保薪酬体系的公正透明。 在技术实现上,系统采用Java语言作为主要开发语言,利用SpringBoot框架构建后端服务,提供RESTful API接口,实现业务逻辑与视...
Java Web的核心组件包括Servlet、JSP(JavaServer Pages)以及JavaBean等。Servlet是Java编写的服务端程序,处理HTTP请求并返回响应;JSP则提供了更直观的HTML模板方式来编写动态页面;而JavaBean则是一种可重用的...
5. **文件结构**:提供的压缩包文件“7_SuperMap iObjects .NET风格设置”可能包含代码示例、配置文件、资源文件等,用于演示如何在实际项目中设置和应用风格。这些文件可以帮助开发者更好地理解和实践风格设置操作...
文件“房产中介管理系统_1619321416”可能是系统的安装包或者源代码压缩文件,包含了系统的所有组件,包括Java类文件、配置文件、数据库脚本等。解压后,用户可以进行安装或开发者可以进一步研究和定制系统。 总的...
1. **Java AWT 和 Swing 图形库**:这是Java标准版(Java SE)的一部分,提供了基本的图形绘制和用户界面组件。`java.awt.Image`类可以用来加载和显示图片,而`javax.swing.ImageIcon`则更常用于Swing应用中的图片...
在物料管理系统中,Hibernate作为ORM(对象关系映射)工具,负责将Java对象与数据库中的记录进行映射,通过SQL语句透明地进行数据存取,降低了数据库操作的复杂性。 系统可能包含以下几个模块: 1. **物料管理模块...
在这个电子政务网站中,MySQL用于存储各类政务信息、用户数据、留言记录等。例如,领导信箱的数据可能包括收件人、发件人、邮件主题和内容,这些都会被安全地存储在MySQL的表中。而表格下载和政务公开的内容也可以...
SSM框架指的是Spring、Spring MVC和MyBatis三个组件的整合,这一组合为Java后端开发提供了强大的支持。本文将通过详细介绍该系统的构建过程、主要功能以及实现的细节,展示如何通过技术手段解决现实问题,并提升医院...
该学校资产管理系统前端采用UI组件来开发系统的用户界面和管理员界面,各类Html5标签的选择具有一致性,用户在视觉上具有一种直观、透明的感觉,对应的功能页面也是一目了然。使用UI模板引擎来渲染数据,他提供许多...