`
Kslsi
  • 浏览: 23893 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

java中如何设置各类组件透明

    博客分类:
  • java
 
阅读更多

     失眠并不是一无是处,至少我认真完成了我的工作,而且还收获了很多。

 

      对于一般的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);   
        } 

        注:表头设置透明以后,表头部分的网格线会丢失,如果想将其补全的话可以用自己画。方法此处不提供。

 

       下图为设置各个组件透明后的效果(由于效果,未设置表头透明):

        就这么多吧,电脑慢得啊。。。电脑需要休息,人更需要休息,补觉去了~

  • 大小: 147.2 KB
  • 大小: 61.1 KB
分享到:
评论
4 楼 Kslsi 2014-10-13  
MNTMs 写道
失恋了啊  睡不着 

....你才失恋了。。。
3 楼 MNTMs 2014-08-01  
失恋了啊  睡不着 
2 楼 Kslsi 2014-07-31  
MNTMs 写道
还要补觉啊   是写到有多晚  

我是一夜没睡。。。
1 楼 MNTMs 2014-07-31  
还要补觉啊   是写到有多晚  

相关推荐

    一个简单的Java收费管理系统

    【Java收费管理系统】是一个基于Java技术开发的软件应用,主要用于管理各类收费操作,例如停车场、公路收费站、公共交通系统等。这个简单的Java收费管理系统提供了一种高效、便捷的方式来追踪和处理费用收取过程,...

    java客房管理系统

    3. Hibernate:作为ORM(对象关系映射)工具,Hibernate简化了数据库操作,将Java对象与数据库表进行映射,实现数据的透明化访问。 4. MySQL:作为关系型数据库,MySQL提供了高效的数据存储和查询能力,满足了酒店...

    java仓库管理系统.zip

    如果“910qp”是某种代码或模块的代号,那么它可能对应着系统中的特定功能或组件。 综上所述,"java仓库管理系统.zip"是一个全面的仓库管理解决方案,利用Java技术栈构建,具备安全的身份验证、员工管理、物料追踪...

    基于Java编写的可视化画图软件

    在这个画图软件中,Java的Swing或JavaFX库可能被用来构建用户界面,提供丰富的组件和高度定制的图形功能。开发者通过这些工具,可以方便地创建出具有专业级别的画布,支持用户进行自由绘画。 画图功能是这款软件的...

    基于java的班级管理系统

    在SSM框架中,Spring作为核心容器,负责管理应用程序的组件,如bean的创建、依赖注入等。SpringMVC作为Spring的Web模块,处理HTTP请求和响应,提供了模型-视图-控制器(MVC)的设计模式,使业务逻辑与展示层分离。...

    Java源码springboot+vue智慧党建系统.zip

    本项目是一个基于Java源码...通过该系统,党员可以方便地进行在线学习和考试,党组织可以高效地管理和组织各类党建活动,提升了党建工作的透明度和科学性。项目为完整毕设源码,先看项目演示,希望对需要的同学有帮助。

    成为Java高手的25个学习要点

    积极参与各类项目实践,积累丰富的实战经验,是成为一名真正的Java高手不可或缺的过程。 综上所述,成为一名真正的Java高手不仅需要扎实的技术基础,还要具备广泛的技能树和不断学习的心态。希望以上内容能对您有所...

    【java毕业设计】SpringBoot的中老年人文化活动平台(springboot+vue+mysql+说明文档).zip

    在这个平台上,中老年用户可以浏览和参与各类文化活动,比如书画展览、音乐欣赏、健身讲座等。设计者通过SpringBoot框架构建后端服务,利用其简化配置、快速开发的特性,能够高效地开发出稳定、安全、易维护的服务端...

    基于Java与Shell语言的apusic-sbom-tool设计源码

    JAR包文件在Java项目中扮演着重要的角色,它们是Java应用程序的打包格式,通常包含了编译后的class文件和项目运行所需的资源文件。在apusic-sbom-tool项目中,这些JAR包文件封装了工具的部分核心功能,方便了代码的...

    基于Java与Vue的招生管理系统设计源码

    基于Java与Vue的招生管理系统设计源码是一套综合运用了Java...这是一套功能完备、设计先进、操作便捷的招生管理系统,能够满足各类教育机构在招生管理方面的需求,有效提升工作效率,确保招生过程的透明化和数据化。

    【毕业设计】基于JavaSwing和Awt完成的简单的企业财务管理系统_pgj.zip

    企业财务管理系统的开发是一项复杂而重要的工作,它关系到企业资金流动的监控与管理,对于提高企业财务透明度、加强内部财务管理、提升资金使用效率有着至关重要的作用。本系统采用Java语言中的Swing和Awt两大图形...

    Java 项目-java的JAVA物业管理系统设计与实现(源代码).zip

    财务管理模块用于处理物业费用的收取、支出、统计等财务相关工作,提高财务透明度和效率。报修服务模块为住户提供了报修申请、维修进度查询等功能,使得住户的报修需求能够得到及时有效的解决。通知公告模块则为物业...

    基于Java的体育赛事管理平台设计源码

    基于Java的体育赛事管理平台设计源码,不仅展示了Java在企业级应用开发中的应用潜力,而且也为体育赛事管理提供了数字化、自动化的新思路。该平台在设计上注重用户体验和界面友好,同时通过丰富的数据文件类型支持了...

    基于JAVAssm框架的固定资产管理系统.zip

    通过系统管理,企业可以实时掌握各类资产的分布情况和使用状态,为企业的资产决策提供数据支持。 在技术实现上,系统的前端使用了jsp页面进行展现,这是Java Server Pages的缩写,是一种动态网页技术,它能够将Java...

    教务管理系统 2024免费JAVA毕设

    MySQL是一个流行的开源关系型数据库管理系统,以其高性能、高可靠性和易用性被广泛应用于各类软件项目中。 在开发工具方面,项目推荐使用Idea和VSCode。Idea是IntelliJ IDEA的简称,它是由JetBrains公司开发的一款...

    MVT.rar_地图查询系统_地图系统_物流_物流 java_订单配送

    在物流系统中,Java的面向对象特性有利于代码组织和维护,而Spring框架则常用于构建松耦合的组件,提供事务管理、数据访问等功能。 综上所述,"MVT.rar" 文件包含的物流配送系统是一个集成了地图查询功能的综合解决...

    基于Java EE平台项目管理系统的设计与实现.docx

    基于Java EE平台的项目管理系统不仅能够有效整合项目管理中的各项信息,还能提供一系列实用的功能,大大提高了项目管理的效率和透明度。通过本文档的学习,读者可以了解到如何利用Java EE及相关技术来设计并实现一个...

    基于java的校园在线拍卖系统新版源码+数据库+说明

    其中,源码文件“projectcode_1020”是该项目的关键部分,它包含了一系列Java文件,这些文件定义了系统的各个组件和模块,例如用户模块、拍卖模块、订单管理模块等,使得整个系统能够有序地运行。 系统通过数据库的...

    基于java的二手书交易管理系统设计与实现.docx

    系统利用Java语言开发,Java以其跨平台性、面向对象、安全性、多线程等特性被广泛应用于各类应用程序开发中。特别是在网络编程方面,Java提供了丰富的类库和强大的网络功能,使得开发网络应用变得简单高效。同时,...

Global site tag (gtag.js) - Google Analytics