将图像设置为 JPanel 背景的最简单方法

新手上路,请多包涵

如何在不创建新类或方法的情况下将背景图像添加到我的 JPanel,而只需将它与 JPanel 的其余属性一起插入?

我正在尝试使用图像设置 JPanel 的背景,但是,我发现的每个示例似乎都建议使用自己的类扩展面板。

我一直在寻找一种方法来简单地添加图像,而无需创建一个全新的类,并且使用相同的方法(试图使事情井井有条和简单)。

这是设置我的 JPanel 的方法示例:

 public static JPanel drawGamePanel(){
    //Create game panel and attributes
    JPanel gamePanel = new JPanel();
    Image background = Toolkit.getDefaultToolkit().createImage("Background.png");
    gamePanel.drawImage(background, 0, 0, null);
    //Set Return
    return gamePanel;
}

原文由 Joshua Martin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 357
1 个回答

我正在尝试使用图像设置 JPanel 的背景,但是,我发现的每个示例似乎都建议使用自己的类扩展面板

是的,您必须扩展 JPanel 并覆盖 paintcomponent(Graphics g) 函数才能这样做。

 @Override
  protected void paintComponent(Graphics g) {

    super.paintComponent(g);
        g.drawImage(bgImage, 0, 0, null);
}

我一直在寻找一种方法来简单地添加图像,而无需创建一个全新的类,并且使用相同的方法( 试图使事情井井有条和简单)。

如果需要,您可以使用其他允许将图像直接添加为图标的组件,例如 JLabel

 ImageIcon icon = new ImageIcon(imgURL);
JLabel thumb = new JLabel();
thumb.setIcon(icon);

但是再次在括号中 试图使事情井井有条和简单!是什么让你认为仅仅创建一个新类就会把你带到一个混乱的世界?

原文由 Sage 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题