比如说我有一张320*240的图片,但jpanel的大小是640*480,我曾经尝试在paintComponent方法里写
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(image,0,0,640,480,null);
}
但却行不通,有时候又可以(但很少),请问这是怎么回事??
谢谢了

解决方案 »

  1.   

    重写的方法错了吧...
    你应该重写paintComponents,你尝试下重写这个应该可以,我也初学,不知道为什么重写这个为什么可以,但是你重写paintComponent很多时候容易出现问题的
      

  2.   

    如果我重写paintComponents的话图片根本不会显示,只是一闪而过...
    不知道是什么原因
      

  3.   

    我改成下边这样图片就能正确显示了
    public void paintComponent(Graphics g)
    {
    super.paintComponents(g);
    g.drawImage(image,0,0,640,480,null);
    }但是我要在图象上用鼠标画矩形时图像又会变成原来的大小(绘制矩形是在jpanel上添加一个jlabel,然后在jlabel上绘制矩形的)
    请问这是怎么回事呢??