4

我想在 Eclipse 中使用 WindowBuilder 来构建 Swing GUI。我需要构建的 JPanel 将是非 GUI 包装器中的内部类,如下所示:

public class MyWrapper extends MyBaseClass {
  ...
  class MyPanel extends JPanel {
    ...
  }
}

所以我的问题是:我可以使用 WindowBuilder 构造 MyPanel 吗?如果是这样,我应该如何设置它?

如果有人感兴趣,包装器是一个抽象基类,我为我的应用程序开发的插件必须扩展它;部署问题意味着将 GUI 放在单独的 JAR 中也不实际,所以我几乎必须这样做。

我当前的工作流程很糟糕,是在 NetBeans 中构建 GUI 并将整个生成的类粘贴到 Eclipse 中,在其中将其连接到包装器中的方法。我非常希望 WindowBuilder 能让我更可靠、更高效地工作,如果我能欺骗它在 MyPanel 中生成代码,而不是在 MyWrapper 中生成代码。

谢谢

4

1 回答 1

2

目前尚不清楚为什么 JPanel 必须是内部类。一般来说,这不是一个好主意(无论哪种方式,您最终都会得到多个 .class 文件)。JPanel 应该只是它自己的顶级类并从您的包装类中引用(所有这些都可以在同一个 jar 中)。WindowBuilder 可以很容易地用于创建/编辑您的 JPanel 子类(包括最初使用 NetBeans 创建的子类),但它只对顶级类这样做。它不允许您创建/编辑这样的内部类(这完全是故意的)。

于 2010-12-27T14:57:15.067 回答