【问题标题】:permanent background image on a JPanelJPanel 上的永久背景图像
【发布时间】:2012-07-06 23:05:31
【问题描述】:

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

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

【问题讨论】:

    标签: java swing jpanel background-image


    【解决方案1】:
    • Image作为Icon / ImageIcon放到JLabel

    • 使用这个JLabel instread of JPanel

    • JLabel hasn't implemented any LayoutManagerJFrame(BorderLayout)JPanel(FlowLayout) 比较

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 这听起来像我要找的。可以举个例子吗?
      猜你喜欢
      • 2018-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-01
      • 2013-12-16
      相关资源
      最近更新 更多