FaqFormCustomContainerBeanJa

カスタムコンテナ Bean を作るにはどうしたらよいですか?

もっとも簡単で推奨される方法は JPanel のサブクラスを作ることです。

Bean が GUI ビルダーのビジュアルコンテナとして認識され使用できるようになるにはいくつかの要求を満たしている必要があります。

  • java.awt.Container のサブクラスである必要がある
  • コンテナのデフォルトインスタンスは空である必要がある(サブコンポーネントなし)
  • デフォルトインスタンスはいくつかのサポートするレイアウトマネージャーのレイアウトと持っている必要がある

注意 1: コンテナ内にはいくつかのサブコンポーネントを持つことができます。しかし "コンテナ委譲" サブコンテナを持つ必要があります。(このコンテナ委譲は空でありいくつかのレイアウトを持つ必要があります) Bean の BeanInfocontainerDelegate 値を BeanDescriptor に設定することでコンテナ委譲は設定できます。その値は Bean からコンテナ委譲を得るためのメソッドの名前である必要があります。(例えば JFramegetContentPane を持っています。したがって JFrame を拡張する時には同じ名前を付かないように気をつける必要があります)。

MyContainer Bean の MyContainerBeanInfo 内の getBeanDescriptor() メソッドの例です:

public BeanDescriptor getBeanDescriptor() {
    BeanDescriptor desc = new BeanDescriptor(MyContainer.class);
    desc.setValue("containerDelegate", "getInnerPane");
    return desc;
}

注意 2: 逆の場合、例えば、 コンテナではない と扱われるべきコンテナサブクラスを持つには、サブコンポーネントを含んでいても気にすることはありません。(これは上記の要求に満たさないことになります) 正しく行うには BeanDescriptor 内の isContainerBoolean.FALSE に設定します。


  バージョン: すべて
  プラットフォーム: すべて

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo