在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() 绘制组件的方法,就是在绘制组件的时候绘制一个和组件一样大小的图片,这样就达到了设置背景图片的目的。只需要将路径修改为自己的即可使用。