JDeveloperでは、他のレイアウト・マネージャをUIエディタと統合できます。UIエディタとプロパティ・インスペクタの両方を使用してレイアウト・マネージャを扱えるようにするには、次のようにします。
oracle.jdevimpl.uieditor.LayoutAssistant
実装を記述します。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>
ここで
PREFIX
はjdeveloper.uiassistant
です。 LAYOUT_MANAGER_CLASS_NAME
は、アシスタントを登録するレイアウト・マネージャの完全修飾クラス名です。LAYOUT_ASSISTANT_CLASS_NAME
は、登録するレイアウト・マネージャ・アシスタントの完全修飾クラス名です。たとえば、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
の下で、プロパティ・エディタ・クラスを次のように登録します。
Inspector.PropertyEditor.count=#
には、ide.properties
に登録されているプロパティ・エディタの総数が示されています。新規プロパティ・エディタを追加するたびに、カウントを増やす必要があります。<#>
は、登録済エディタのリスト内で、登録するエディタに対応してゼロから付けられる索引です。<fully qualified type>
は、プロパティ・エディタを登録する制約の完全修飾タイプです。<Fully qualified class>
は、指定の制約タイプのインスタンスを編集するために登録するjava.beans.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のクラスパスに追加する必要があります。