如何在固定大小的JPanel上绘制一个非常大的BufferedImage?

时间:2012-11-13 09:50:55

标签: jpanel repaint

我在JFrame上添加了一个jpanel。我实现了这样的jpanel。

class MyPanel extends JPanel { private BufferedImage image;

public MyPanel(BufferedImage img)
{
    this.image = img;
}
protected void paintComponent(Graphics g){
    super.paintComponent(g);

    g.drawImage(image, 0, 0, image.getWidth(), image.getHeight(), this);
    System.out.println("draw image");
    g.dispose();
}
void update(BufferedImage image){
    this.image=image;       
    repaint();
}

public MyPanel(BufferedImage img) { this.image = img; } protected void paintComponent(Graphics g){ super.paintComponent(g); g.drawImage(image, 0, 0, image.getWidth(), image.getHeight(), this); System.out.println("draw image"); g.dispose(); } void update(BufferedImage image){ this.image=image; repaint(); }

我希望每次调用更新方法时,都可以在面板上绘制新图像。

但是图像太大,只有部分图像在面板上。接下来我需要做什么?

顺便说一下,我曾尝试将JScrollPane与JPanel一起使用,但它没有用。有没有人可以

帮助?非常感谢你。

0 个答案:

没有答案