0

我正在构建一个用于在特定图像上绘制叠加层的摆动界面。我已经找到 了几个如何在 JPanel 上绘制图像的 示例,并且我能够毫无困难地做到这一点。但是,我想保持此图像完全静态,同时在其上动态绘制叠加层。考虑到这一点,如果我可以将图像设置为面板的永久背景,而不是paintComponent()每次都重绘图像会更好。这将特别有用,因为经常会出现我想要removeAll()在面板上绘制当前图形并重新绘制新图形的情况。

所以我的问题是:有没有办法在 JPanel 中设置永久背景图像,还是每次paintComponent()调用时都必须重绘图像?

4

2 回答 2

2
  • Image至于_ Icon / ImageIcon_JLabel

  • 使用这种JLabel方法JPanel

  • JFrame(BorderLayout)or相比, JLabel 没有实现任何 LayoutManagerJPanel(FlowLayout)

  • 你必须定义正确的LayoutManager,接受 PreferredSize 是它的孩子

  • 那么对于JPanel,所有方法都可以访问(几乎几乎),因为容器工作

于 2012-07-06T14:47:36.140 回答
1

也许您可以尝试将 Jpanel 放入另一个 Jpanel 中。您在容器 JPanel 上绘制图像。然后使您的内部 JPanel 成为透明的。这样,当上面没有对象时,您会看到父 JPanel 的背景没有改变。

于 2012-07-06T15:05:31.677 回答