在Swing開發中,會有一些需求需要設置組件的背景。比如類似於酷我播放器的歌手寫真。那麼在Java Swing中應該怎樣設置組件的背景呢?我們可以使用java.awt.Graphics進行背景的繪製。先來看效果圖:
該程序的代碼如下:
import java.awt.Graphics;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ComponentBackground extends JPanel{
private static final long serialVersionUID = 1L;
@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
Image image = null;
try {
image = ImageIO.read(new File("F:\\picture\\風景\\06.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
g.drawImage(image, 0,0,this.getWidth(),this.getHeight(),this);
}
public static void main(String[] args) throws IOException {
JFrame testWindow = new JFrame();
testWindow.setTitle("繪製組件背景");
testWindow.add(new ComponentBackground());
testWindow.setSize(600, 400);
testWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
testWindow.setVisible(true);
}
}
這裏我們重寫了paintComponent() 繪製組件的方法,就是在繪製組件的時候繪製一個和組件一樣大小的圖片,這樣就達到了設置背景圖片的目的。只需要將路徑修改爲自己的即可使用。