1

我在放置稳定的图像背景时遇到问题。我成功创建/绘制了图像背景,但是当我连续多次运行它时,图像没有显示。背景图像似乎不稳定。当我将框架拖到笔记本电脑屏幕的一侧时,图像正在被删除。如何创建/绘制稳定的背景图像,在拖动时不会闪烁或擦除?

下面的代码是我用于背景图像的代码:

public void paint( Graphics g ) {
        super.paint(g);
        g.drawImage(img, -30, 0, null);     //draw image to background
}
4

1 回答 1

0

使用 JLabel.setIcon(Icon icon) 方法。

这样做的好处是您不需要覆盖任何方法来放置背景。

事实上,如果您想要一个具有图像背景的容器,您也可以使用 JLabel 来替代 JPanel。下面可以用代码解释这个技巧:

public class JPanelWithBackground extends JLabel {

    public JPanelWithBackground() {
       add(new JButton("I can attached to JLabel? Isn't cool? "));
       setBackgroundImage("path_to_image.png");
    }

    public void setBackgroundImage(String imagePath) {
       setIcon(new ImageIcon(imagePath));
    }
}
于 2015-03-05T06:35:49.090 回答