Visual Editor には、Swing JSplitPane コンテナーの操作を簡略化する特殊な振る舞いがあります。
javax.swing.JSplitPane クラスを使用して、2 つのコンポーネントを間に分割バーを入れた状態で作成することができます。 ユーザーは、実行時に、分割バーをドラッグして画面上のスペースを調整することができます。
Visual Editor では、「Java Bean」ビューの JSplitPane の下に、2 つの子コンポーネントが表示されます。新規コンポーネントを「Java Bean」ビューまたは「設計」ビューの JSplitPane にドロップすると、Visual Editor は、既存の子コンポーネントがない場合は、そのコンポーネントを左のペインに配置しようとします。左のペインにすでにコンポーネントがある場合は、ドロップ対象のコンポーネントは右のペインに追加されます。JSplitPane の両方のペインがすでに占有されている場合、Visual Editor はコンポーネントのドロップを許可しません。
Visual Editor for Java が左右のコンポーネントを子として表示するかどうかは、その方向付けプロパティーの値によります。このプロパティーが VERTICAL_SPLIT に設定されている場合は、 下部および上部にコンポーネントが表示されます。
分割ペインの子ごとに生成されるメソッドは、set メソッドを使用してそのプロパティーの 1 つを設定します。 例:
ivjJSplitPane.setTopComponent(getIvjJButton());
set メソッドを使用してコンポーネントを設定するだけでなく、 「上部」、「下部」、「左」、または「右」という制約を使用して追加できます。 例:
ivjJSplitPane.addComponent(getIvjJButton(),"top");
JSplitPane 上へコンポーネントをドロップする場合、仕切り位置が明示的に設定されていないと、仕切り位置は「左」または「上部」コンポーネントの推奨サイズに応じて変更されます。 次に、一方が設定されていると、もう一方のコンポーネントは反対側に埋め込まれます。 例えば、JPanel をコンポーネントなしで JSplitPane へドロップする場合は、 デフォルトで「左」に割り当てられます。 JPanel の preferredSize は非常に小さいため、 仕切り位置は分割ペインの遠く離れた「左」へ移動します。 次に、JPanel 上へコンポーネントをドロップすると、JPanel は FlowLayout を使用しているので、分割ペインは JPanel の推奨サイズに従ってサイズ変更され、今度はこの JPanel が、それに追加されたコンポーネントの推奨サイズによって変更されます。
Visual Editor は、単一層に JLayeredPane インデックスをレンダリングします。多層および索引の場合、Visual Editor はコンポーネントを正しい順序で表示しない場合があります。
親トピック: Visual Editor での Swing の操作