首先,導入相關的包: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); }
}