Eclipse WindowBuilder:忽略运行时 paint() 代码

Eclipse WindowBuilder: Ignore runtime paint() code

我正在设计的 swing GUI 中的一个 JPanel 使用 AWT 图形来绘制只能在运行时绘制的图形。 Eclipse WindowBuilder 不再想绘制我的任何 swing GUI,因为现在在 awt 绘制代码中存在空指针异常。请注意,这不是关于空指针异常的一般问题。这特定于 WindowBuilder 以及如何处理在 WindowBuilder 上下文中没有意义的代码。如果 WindowBuilder 试图解释我的 swing gui,有没有一种方法可以忽略 awt 绘制代码?

import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;

import javax.swing.JPanel;

public class previewPanel extends JPanel {
private static final long serialVersionUID = 3787425749772291816L;
public final static int WIDTH = 918;
public final static int HEIGHT = 125;

public void paint(Graphics g) {
    BufferedImage img = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_3BYTE_BGR);
    Graphics gBuffer = img.getGraphics();
    gBuffer.setColor(Color.WHITE);
    gBuffer.fillRect(0, 0, WIDTH, HEIGHT);

    businessClass.object.paint(gBuffer);

    g.drawImage(img, 0, 0, this);

    try {
        Thread.sleep(20);
    } catch (Exception e) {
    }
    repaint();
}

在此特定示例中,previewPanel 嵌入到我在 WindowBuilder 中使用的整体 swing gui 中,并且 businessClass.object 仅在运行时初始化(Main 调用 businessClass 的初始化,而不是 gui 本身)。我只展示了一个例子,但还有很多其他情况我调用了运行时对象的绘制代码或需要用awt图形绘制的对象列表。

我找到了一个变通方法,将 运行 仅限时间的代码包装在针对 businessClass 单例的空指针检查中。 WindowBuilder 不会通过此检查,因此代码被跳过。这是一个肮脏的解决方案。我希望有编译标志或诸如此类的东西。