JFC系列1之添加背景图片
来源:互联网 发布:java并发 串口 编辑:程序博客网 时间:2024/05/22 01:55
用JAVA写桌面程序,难免不了想写出美观的界面,这样一来为面板添加背景图片就少不了了。
添加背景图片,一般有两种方式(我指的是我所认识到的,如还有其它方式,请补充,不甚感激)。一是在JFrame中添加背景图片,二是在JPanel中添加背景图片。
先说JFrame的情况。JFrame在ContentPane(可使用getContentPane方法得到)之下还有一层Panel,即LayerPane。这一层Panel一般我们不会使用到它。所以可以将图片加载到这里。其中一个思路是,使用指定的图像new一个JLabel,然后把这个JLabel添加到LayerPane中。完成之后,由于swing中的Panel默认都是不透明的,所以我们还需要对其之上的面板设置为透明,调用的方法是其之上Panel的setOpaque方法,参数为false。代码如下:
注意,如果在写代码中时有多个Panel(JPanel继承自Panel)添加到JFrame中时,需要对每个Panel都调用setOpaque(false)。如果只有一个Panel添加,则可以其之后调用该方法。
另一种情况是对JPanel添加背景图片,这种情况可用于当我们的JFrame有多个JPanel而又必须对每个JPanel设置不同的图片时。对此可以写一个ImageJPanel,并继承JPanel,然后重写其中的paintComponent(Graphics g)方法,在方法中绘制图片。注意重写时不要写错,建议查JAVA的API文档,然后从上面复制。实现代码如下:
由于JPanel中本身含有多个构造方法,添加了Image成员变量之后,要写出通用版的ImageJPanel可能需要组合参数写出更多的构造方法,显得很冗余。因此在这里对其仅作为Demo给出,到时自己参照即可。
以上添加背景图片的两种情况,均已收录在我的diaoxianSoft中的easyJFC包中。此包暂未完善,亦未做正规测试,不知其有多大通用性,仅作为我个人的私有包,在自己写代码中使用。
JFC系列将分享一些常见但又让我们这些新手头疼的问题的解决方法,希望大家继续关注,也希望大家一起分享自己的成果。
- JFC系列1之添加背景图片
- JFC系列3之添加窗体内拖动
- JFC系列2之设置可插拔外观
- JFC系列4之获取用户当前工作路径
- JFC系列5之从JAR包中获取图片
- 学习笔记之MFC添加背景图片
- 添加背景图片
- JFC/Swing活学活用之定制JList显示
- JFC/Swing活学活用之JLabel文字魔法
- java学习之swing和JFC
- JFC/Swing的实用知识(1)
- 【MFC】单文档添加背景图片(1)
- 重拾MFC小细节之添加背景图片
- MFC单文档之给主窗口添加背景图片
- PDF编辑技巧1:添加页码和添加背景图片
- 系统栏系列之背景图片侵入系统栏
- SilkTest武林外史之4-测试JFC Swing应用
- 给对话框添加背景图片
- 搞嵌入式linux值得收藏的官方网址
- AltiumDesigner使用步骤及快捷键
- AltiumDesigner使用步骤及快捷键
- connect pc-mobile-tv-pda 让所有的设备互联
- 10年软件开发中获得的最宝贵的经验!非常值得你一读
- JFC系列1之添加背景图片
- 第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求
- mysql win下备份
- J2SE第二课时(数据类型)
- mvc ajax注意事项
- 2.4升级到2.5的问题
- 肝功受损
- linux下,C语言源文件转成PDF文件
- sqlserver 列出所有存储过程