如何使用WindowBuilder编辑内部类中的JPanel

时间:2010-12-22 19:50:22

标签: java eclipse eclipse-plugin windowbuilder

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

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

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

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

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

由于

1 个答案:

答案 0 :(得分:2)

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