4

EclipseでWindowBuilderを使用してSwingGUIを構築したいと思います。私が構築する必要のあるJPanelsは、次のように、非GUIラッパーの内部クラスになります。

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

だから私の質問はこれです:WindowBuilderを使用してMyPanelを構築できますか?もしそうなら、どのように設定すればよいですか?

誰かが興味を持っているなら、ラッパーは私がアプリ用に開発しているプラ​​グインが拡張しなければならない抽象的な基本クラスです。デプロイメントの懸念は、GUIを別のJARに配置することも実際には実用的ではないことを意味するため、私はほとんどこの方法でそれを行う必要があります。

私の現在のワークフローはひどいものですが、NetBeansでGUIを構築し、生成されたクラス全体をEclipseに貼り付けて、ラッパーのメソッドに接続することです。WindowBuilderをだまして、MyWrapperではなくMyPanelでコードを生成できるようになれば、WindowBuilderがより確実かつ効率的に作業できるようになることを非常に期待しています。

ありがとう

4

1 に答える 1

2

JPanel が内部クラスでなければならない理由は明らかではありません。一般に、これは良い考えではありません (いずれにせよ、複数の .class ファイルが作成されることになります)。JPanel は、独自の最上位クラスであり、ラッパー クラスから参照される必要があります (これらはすべて同じ jar 内にある可能性があります)。WindowBuilder を使用すると、JPanel サブクラス (NetBeans で最初に作成されたものを含む) を簡単に作成/編集できますが、これはトップレベル クラスに対してのみ行われます。このような内部クラスを作成/編集することはできません (これは完全に意図的なものです)。

于 2010-12-27T14:57:15.067 に答える