【问题标题】:How to add image to JFrame as background and still add other components to it?如何将图像添加到 JFrame 作为背景并仍然向其中添加其他组件?
【发布时间】:2014-01-17 15:59:57
【问题描述】:

我想将图像作为背景添加到 JFrame 但不像

    this.setContentPane(new JLabel(new IamgeIcon("path of image file"));

当我使用上面的代码行时,我看不到我的其他组件添加到同一个 JFrame。 我想将图像设置为背景,就像我们在 html 页面中看到的那样,其中 body 有一个背景图像,并且我们看到其他组件,如按钮和文本框。谁能告诉我该怎么做?我想将另外 2 个面板附加到同一个 JFrame。请附上代码输出的图像。

【问题讨论】:

  • @WillHartung 是的...谢谢!我在搜索中没有找到!
  • @WillHartung,但是如果我制作这样一个面板并在其上绘制图像,并使用边框布局将其添加到 JFrame,它将位于北部或南部或中心或东部或西部.它不会作为一个完整的背景......不是吗?我还有其他 2 个面板要添加到同一个 JFrame...
  • 添加到BorderLayoutCENTER 的组件将填满整个空间,只要不在其他位置添加组件。
  • 另请参阅this answer 以获得与您想要实现的 MCVE 非常相似的内容(带有漂亮的屏幕截图)。

标签: java swing background jframe


【解决方案1】:

你可以使用JLayeredPane

JLayeredPane 为 JFC/Swing 容器增加深度,允许组件在需要时相互重叠。

链接how to use Layered Panes

并检查此example

【讨论】:

  • 我认为JLayeredPane 并不是真正的方法,需要先查看 MCVE,然后我才会被说服。至于链接,最好有描述性文字,比如第二个,而不是link..
  • 这个AnimationTest使用组件的默认布局;点击几次,然后调整大小看看效果。
猜你喜欢
  • 1970-01-01
  • 2014-11-03
  • 2022-07-26
  • 1970-01-01
  • 2012-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多