【问题标题】:How to paint graphics from multiple classes to a single panel如何将多个类中的图形绘制到单个面板
【发布时间】:2012-11-04 00:45:59
【问题描述】:

目前,我有两个将图像和形状绘制到 JFrame 的 JPanel 类(我将来会有更多),我这样做是为了使事情井井有条。

起初我尝试将每个 JPanel 添加到 JFrame,但一个 JPanel 会在另一个 JPanel 上绘制。

每个类都应该能够调用其他可以将图像绘制到屏幕上的类。

我的问题是我无法让它们绘制到屏幕上。

我应该使用paintComponent 还是paintAll?又该如何使用?

感谢您的帮助:)

【问题讨论】:

  • 但是一个JPanel会画另一个,修正这个错误。
  • 每个类都应该可以调用其他类,你是用对象还是static方法?添加一些代码。
  • 1) 为了尽快获得更好的帮助,请发帖 SSCCE。 2) 从描述看来,类不应该是面板,而是知道如何将自己绘制到Graphics 实例的对象。

标签: java swing graphics jframe


【解决方案1】:

听起来好像您将两个面板添加到JFrame 中的同一位置,可能在BorderLayout.CENTER 位置。一种解决方案是使用带有 2 列的 GridLayout JFrame 并添加 2 个面板。

paintComponent 是在面板中覆盖的正确方法。

关注custom painting trail,看看应该如何使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-19
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    • 2012-10-16
    • 2021-04-01
    相关资源
    最近更新 更多