java中的swing设计界面时怎么加上背景图片。而不覆盖其他控件?

通过以下方式设置下背景就可以了:

import java.awt.Container;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Test extends JFrame {

    public Test() {
        setBak(); //调用背景方法
        Container c = getContentPane(); //获取JFrame面板
        JPanel jp = new JPanel(); //创建个JPanel
        jp.setOpaque(false); //把JPanel设置为透明 这样就不会遮住后面的背景 这样你    
                                    就能在JPanel随意加组件了        
                                    
        c.add(jp);
        setSize(540, 450);
        setVisible(true);
    }

    public void setBak(){
        ((JPanel)this.getContentPane()).setOpaque(false);
        ImageIcon img = new ImageIcon("c://Sunset.jpg"); //添加图片
        JLabel background = new  JLabel(img);       
        this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
        background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
    }

    public static void main(String[] args) {
        Test s = new Test();
        s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

}

    

  

这样就可以把图片放在最下面了,效果图:

 

 

 

 


更多独家精彩内容  扫码关注个人公众号我们一起成长,一起Coding,让编程更有趣!


 

——  ——  ——  ——  —  END  ——  ——  ——  ——  ———— 

         欢迎扫码关注我的公众号

          小鸿星空科技

       

 

 

posted @ 2021-09-25 10:57  南柯树下  阅读(3271)  评论(0编辑  收藏  举报