返回信息流楼主的要求:
1,背景图片可以随着JFrame窗体的大小一起变化
2,可以在背景图片上添加其他透明的组件(如文本框、按钮啥的)
我自己找了一些实现的方法:
网上看的(百度一下)比较多的就是
方法1,
用一个JLabeL (label)标签来放图片,
然后利用getLayeredPane().add(label,new Integer(Integer.MIN_VALUE))把它添加到LayeredPane层面板上,
然后利用imagePanel = (JPanel)this.getContentPane();
imagePanel.setOpaque(false);
将内容面板设置为透明,然后添加组件到内容面板
但是以上方法不能满足背景图片随着窗口大小变化的要求。
方法2,
楼主百度找了一个别人写的扩展了的JPanel类(叫做 JImagePane),该类添加背景图片后添加到内容层里可以让背景随着窗口大小变化,但是这样子的话楼主就不能继续往内容层里面添加其他组件了(添加了以后整个布局都好乱的)。
楼主的想法其实是将这个JImagePane 当成方法1中的JLabel添加到LayeredPane层面板,然后再在设置为透明的内容面板上布局组件的,但是这样做了以后内容面板却始终会挡住LayeredPane层面板上的背景!
问题好多。。。。
希望各位从楼主的2个方法中解决,或者提供更好的设置JFrame窗体的背景,并且可以在上面比较自由的布局按放组件的方法
这是一条镜像帖。来源:北邮人论坛 / java / #28963同步于 2014/3/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
关于在JFrame中设置背景图片的问题
prank
2014/3/23镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。