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  ——  ——  ——  ——  ———— 

         歡迎掃碼關注我的公眾號

          小鴻星空科技

       

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM