カスタム・レイアウト・マネージャの追加

JDeveloperでは、他のレイアウト・マネージャをJavaビジュアル・エディタと統合できます。 ユーザーがJavaビジュアル・エディタとプロパティ・インスペクタの両方を使用してレイアウト・マネージャを扱えるようにするには、次のようにします。

  1. LayoutManagerと関連付けるoracle.jdevimpl.uieditor.LayoutAssistant実装を記述します。
  2. LayoutAssistant実装をIDEに登録します。
  3. オプションで、様々なタイプの制約を処理するためにjava.beans.PropertyEditorをIDEに登録します。

カスタム・レイアウト・マネージャ・アシスタントを作成するには、次のようにします。

LayoutManagerは、LayoutAssistant実装に関連付ける必要があります。 クラスoracle.jdevimpl.uieditor.assistant.BasicLayoutAssistantは、インタフェースoracle.jdevimpl.uieditor.LayoutAssistantの基本的な実装を提供するもので、明示的にレイアウト・アシスタントが登録されていないLayoutManagerに使用します。インタフェースにはいくつかのメソッドが必須ですが、詳細はこのトピックでは説明しません。 この基本的な実装からLayoutAssistant実装をサブクラス化することが必要な場合があります。 LayoutAssistantインタフェースの詳細は、Javadocを参照してください。

レイアウト・アシスタントを登録するには、次のようにします。

新規レイアウト・アシスタントを登録するには、次のようにjdev/lib/addins.xmlファイルのoracle.jdevimpl.uieditor.UIEditorAddinセクションに、キーと値の定義を追加する必要があります。


<property>
     <key>PREFIX.LAYOUT_MANAGER_CLASS_NAME</key>
     <value>LAYOUT_ASSISTANT_CLASS_NAME</value>
</property>

    

ここで

たとえば、oracle.jdevimpl.uieditor.assistant.GridBagLayoutAssistantというLayoutAssistant実装を、レイアウト・マネージャjava.awt.GridBagLayoutに対して登録する場合、追加するプロパティは次のようになります。


<property>
     <key>jdeveloper.uiassistant.java.awt.GridBagLayout</key>
     <value>oracle.jdevimpl.uieditor.assistant.GridBagLayoutAssistant</value>
</property>    

レイアウト・アシスタントをIDEから利用できるように、プロパティ・インスペクタの「layout」プロパティ・リストに表示させるには、jdev/bin/jdev.confファイルで、IDE起動時のクラスパスとしてレイアウト・アシスタントを追加する必要があります。 たとえば、次のように指定します。

AddJavaLibFile <myAssistant.jar>

ここで、myAssistant.jarはLayoutAssistant実装のためのコンパイル済クラス・ファイルを含むファイルです。

レイアウト・マネージャに「制約」プロパティ・エディタを登録するには、次のようにします。

カスタム・レイアウト・マネージャで制約クラスが使用される場合は、その制約を編集するためにjava.beans.PropertyEditorを実装するクラスの登録が必要な場合があります。 ide.propertiesファイルのInspector.PropertyEditorの下で、プロパティ・エディタ・クラスを次のように登録します。

たとえば、GridBagLayoutレイアウト・マネージャのGridBagConstraintsに対してプロパティ・エディタを登録する場合、ide.propertiesファイル内のエントリを次のようにします。

Inspector.PropertyEditor.count=1

Inspector.PropertyEditor.editor1.type=java.awt.GridBagConstraints
Inspector.PropertyEditor.editor1.editor=oracle.jdevimpl.uieditor.assistant.GridBagConstraintsEditor

注意: プロパティ・エディタ・クラスは、前述のレイアウト・マネージャ・アシスタントと同様、IDEのクラスパスに追加する必要があります。


クラス・エディタを使用したプロパティのアクセッサ・メソッドの作成および変更
プロパティ・エディタの作成方法

 

Copyright © 1997, 2004, Oracle Corporation. All rights reserved.