Java怎麼添加背景圖片

首先,導入相關的包:java

import java.awt.BorderLayout;佈局

import java.awt.Container;對象

import javax.swing.ImageIcon;繼承

import javax.swing.JFrame;圖片

import javax.swing.JLabel;get

import javax.swing.JPanel;it

也能夠用:io

import java.awt.*;class

import javax.swing.*;import

接着,建立一個Java窗體對象,並設置爲可見

eg:  JFram frame = JFrame();//建立一個窗體
         frame.setVisible(true);//設置窗體可見,默認不可見

最後編寫以下代碼:

  /*
   * 如下7行是給窗體添加背景圖片
   */
  ImageIcon img = new ImageIcon("E:\\1"+ ".gif");//這是背景圖片
  JLabel imgLabel = new JLabel(img);//將背景圖放在標籤裏。
  frame.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));//注意這裏是關鍵,將背景標籤添加到jfram的LayeredPane面板裏。
  imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight());//設置背景標籤的位置
  Container cp=frame.getContentPane();
  cp.setLayout(new BorderLayout());
  ((JPanel)cp).setOpaque(false); //注意這裏,將內容面板設爲透明。這樣LayeredPane面板中的背景才能顯示出來。

趕快編寫一個試試吧!!!

完整代碼以下:

package 第八章;

import java.awt.BorderLayout;

import java.awt.Container;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class MyFirstFrame extends JFrame {

 /**  

* 做者:聽山谷的~  

* 版本1.0  

*/  private static final long serialVersionUID = 1L;  

 public static void main(String[] args) {  

 // TODO Auto-generated method stub   

MyFirstFrame frame=new MyFirstFrame();  

 frame.setVisible(true);//設置窗體可見,默認不可見   

/*     

* 如下7行是給窗體添加背景圖片     

*/    

ImageIcon img = new ImageIcon("E:\\1.gif");//這是背景圖片    

JLabel imgLabel = new JLabel(img);//將背景圖放在標籤裏。    

frame.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));//注意這裏是關鍵,將背景標籤添加到jfram的LayeredPane面板裏。     imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight());//設置背景標籤的位置    

Container cp=frame.getContentPane();    

cp.setLayout(new BorderLayout());    

((JPanel)cp).setOpaque(false); //注意這裏,將內容面板設爲透明。這樣LayeredPane面板中的背景才能顯示出來。  

}  

public MyFirstFrame(){   

super();             //繼承父類構造方法   setTitle("利用JFrame類建立的窗體");   

setBounds(100,100,315,320);     //設置窗體顯示位置及大小   

System.out.println(getForeground());  

 getContentPane().setLayout(null);//設置爲不採用任何佈局管理器   

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     }

}

相關文章
相關標籤/搜索