在JPanel上画图片的问题

chensiyu04 2008-05-03 02:28:55
我想把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的一些特性我还没了解..
...全文
232 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanxue_sys 2008-05-03
  • 打赏
  • 举报
回复
直接设置JPanle的背景就好了,把图片作为他的背景,不用这样去设置
guofei_gf 2008-05-03
  • 打赏
  • 举报
回复
我试了一下,使用g.drawImage(setImageSize(image),0,0,null);可能会因为内存溢出而无法正常生成Image
其实要实现你的要求很简单,这样就可以了:
protected void paintComponent(Graphics g) {
super.paintComponent(g);

g.drawImage(image, 0,0,getWidth(), getHeight(), this);
//g.drawImage(setImageSize(image), 0, 0, this);

}
Inhibitory 2008-05-03
  • 打赏
  • 举报
回复
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,getWidth(), getHeight(),null); // 画的大小是整个面板的大小

}


g.drawImage(setImageSize(image),0,0,null); // 画的大小是片原始大小。
chensiyu04 2008-05-03
  • 打赏
  • 举报
回复
您好
Inhibitory
你说的g.drawImage();画的大小是原始的大小..意思就是说..只是画第一次咯?最原始的那一次
然后就不可能在画了?

还是 画的是最原始的那个图片???如果发生更改后 则画不出来?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧