在JPanel上画图片的问题
我想把JPanel的面板上放一张图片 当做背景
public class LogSystem extends JPanel{
Image image;
protected void paintComponent(Graphics g) {
super.paintComponent(g);
// g.drawImage(new ImageIcon("Image/Bliss.jpg").getImage(),
// 0,0,null);
g.drawImage(setImageSize(image),0,0,null);
}
public LogSystem(Image image){
this.image = image;
setSize(800,600);
}
public Image setImageSize(Image image){
image = image.getScaledInstance(getWidth(),getHeight(),
Image.SCALE_DEFAULT);
return image;
}
public static void main(String[]args){
JFrame jf =new JFrame();
LogSystem log = new LogSystem(new ImageIcon("Image/Bliss.jpg").getImage());
jf.add(log);
jf.setSize(800,600);
jf.setVisible(true);
}
}
测试了2个方法去画背景
g.drawImage(new ImageIcon("Image/Bliss.jpg").getImage(),
0,0,null);
这样画 没问题.. 但是我要的效果是.. 面板大小变化时 背景图片会跟随着自动变化
所以我用了 setImageSize()方法 是返回一张 跟面板一样大小的图片
界面大小更改时 paintComponent会自动重画界面
问题就在 用了setImageSize();方法后. 界面上什么都没画出来. 就是没背景图片
麻烦帮忙看一下..我看了好长时间没看出来..肯定是Java的一些特性我还没了解..