ナビゲーション・バーの使用方法について
JClientでデフォルトのマスター/ディテール・フォームを作成すると、マスター・パネルとディテール・パネルの両方にナビゲーション・バーが作成されて配置され、ユーザーはそれぞれのパネルのデータを別々にスクロールできます。このかわりに、フォーカスのあるパネルに対して機能するナビゲーション・バーを1つ作成することもできます。
JClientのUIで、個々のパネルから、ナビゲーション・イベントがすべての子パネルに影響するレイアウト・パネルへ、ナビゲーション・バーのコードを移動する必要があります。たとえば、部門と社員のデータ・パネルからレイアウト・パネルへコードを移動します。
次のようなコードを削除する必要があります。
// The declaration of the navigation bar
private JUNavigationBar navBar = new JUNavigationBar();
// The code which binds the navigation bar to the individual panel.
navBar.setModel(JUNavigationBar.getModelInstance(getPanelBinding(), "DepartmentsView", null, "DepartmentsViewIter"));
//Add the navigation bar to the panel
add(navBar, BorderLayout.NORTH);
このコードを削除した後、次にマスターとディテールの両方のパネルを含むレイアウト・パネルにコントロール・バインディングを追加します。
//The declaration of the navigation bar
private JUNavigationBar navBar = new JUNavigationBar();
//Bind the model for the navigation bar to the panel
navBar.setModel(JUNavigationBar.getModelInstance(getPanelBinding(),navBar));
//Add the navigation bar to the panel
add(navBar, BorderLayout.SOUTH);
add(masterScroller, BorderLayout.NORTH);
add(detailViewPanel, BorderLayout.CENTER);
ツリー・ナビゲーションの使用方法について
パネルにツリー・コントロールを追加する場合、JClientノード・モデルのプロパティ・エディタを使用してノードへの移入規則を作成します。プロパティ・エディタでは、ノードが選択されたときの処理を設定できません。パネルのコントロールにデータを移入するためにノード選択イベントを処理するには、JUTreeDefaultMouseListenerを使用して、選択されたノードのマスターとディテールのパネルを同期化します。次の例は、ツリー・コントロールにリスナーを追加する方法を示しています。
myTreeControl.addMouseListener(new JUTreeDefaultMouseListener
( panelBindingVar, new String [][] {
{ "NodeType1" , "DepartmentViewIter" }, "NodeType2" , "EmployeeViewIter" } }
)
);
リスナーは各ノードのバインドされたビュー・オブジェクトに対するイテレータ(この例では、DepartmentViewビュー・オブジェクトに対するDepartmentViewIter、およびEmployeeViewビュー・オブジェクトに対するEmployeeViewIter)を引数とします。ユーザーがノードを選択すると、ノードと同じイテレータ・バインディングを共有するコントロールにデータが自動的に移入されます。たとえば、マスター・パネルにツリー・コントロールを作成してリスナーにイテレータ・バインディングを設定すると、ディテール・パネルではこのイテレータ・バインディングを取得および使用して、データ・バインドされたコントロールに属性値が表示されます。
ADF JClientノード・コントロール・バインディングの使用
Copyright © 1997, 2004, Oracle. All rights reserved.