Java界面背景图片设置的关键代码

如何让Java图形界面的组件不被背景图片掩盖?

代码并不多,但是除了少数之外,网上搜索的代码多数非常冗余和不得要领,在长时间进行测试之后,我从网上的代码总结了Java的swing界面的背景图片设置的关键代码如下:


///把标签的大小位置设置为恰好填充整个面板
jl.setBounds(0, 0, img.getIconWidth(), img.getIconHeight()); 
//把内容窗格转化为JPanel,否则不能使用setOpaque()方法来使内容窗格透明化
jp1=(JPanel) this.getContentPane();
jp1.setOpaque(false);//////////////////////////////////////////////
jp1.setLayout(new FlowLayout());
jp1.add(jb);
this.getLayeredPane().setLayout(null);/////////////////////////////////////////////
//把内容图片添加到分层窗口的最底层作为背景
this.getLayeredPane().add(jl, new Integer(Integer.MIN_VALUE));



jl是JLabel的对象,即JLabel jl=new JLabel();
jp1是JPanel的对象。
jb是JButton的对象。
我们可以看到,使背景图片不掩盖组件,仅仅只需要加入关键的7行代码,当然是否能再削减一两行我还没试过,但是加入了这几行代码,其他的按照正常方式来编写,背景图片的设置必定能成功,不会出错。当然,其实其中的原理我还是没弄明白。不过能用就行了,对吧?


猜你喜欢

转载自blog.csdn.net/z1094219402/article/details/45397053
今日推荐