|
Java プラットフォーム 1.2 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object
|
+--java.awt.Component
|
+--java.awt.Container
|
+--javax.swing.JComponent
|
+--javax.swing.JLayeredPane
JLayeredPane は、JFC/Swing コンテナに深さを追加し、必要であればコンポーネントどうしが互いにオーバーラップできるようにします。Integer オブジェクトはコンテナ内での各コンポーネントの深さを表し、番号が大きいほど他のコンポーネントの上に表示されます。
|
|
moveToFront(Component)、moveToBack(Component)、および setPosition を使用することで、レイヤ内でコンポーネントを再配置することができます。setLayer メソッドを使用すると、コンポーネントの現在のレイヤを変更することができます。
各レイヤには個別の整数値が割り当てられます。Component のレイヤ属性を設定するには、add 呼び出しで Integer オブジェクトを渡します。
例:
layeredPane.add(child, JLayeredPane.DEFAULT_LAYER);
または
layeredPane.add(child, new Integer(10));
Component のレイヤ属性を設定するには、コンポーネントの親である JlayeredPane 上で
layeredPaneParent.setLayer(child, 10)
を呼び出すこともできます。レイヤは、子を親に追加する前に設定しなければなりません。
番号が大きいレイヤほど上に表示されます。したがって、次のように各コンポーネントに個別のレイヤ番号と文字を割り当てることにより、
5a, 5b, 5c, 2a, 2b, 2c, 1a
左のコンポーネントほど上に表示されます。
コンポーネントをレイヤ内で一番上または一番下に移動させるには、moveToFront または moveToBack を呼び出します。
レイヤ内でのコンポーネントの位置を位置番号で指定することもできます。指定できる位置番号は、0 〜「レイヤ内のコンポーネント数 - 1」です。-1 を指定すると、コンポーネントは一番下に表示されます。0 を指定すると、コンポーネントは一番上に表示されます。レイヤ番号とは異なり、値が大きいほど下に表示されます。
注: この順序 (java.awt.Container で定義されている) は、レイヤ番号の順序の反対になっています。通常は、add(Component, layer, position) メソッドの使用例を示します。 add(5x, 5, -1) 呼び出しの結果は次のとおりです。moveToFront、moveToBack、およびsetLayerを使用します。
5a, 5b, 5c, 5x, 2a, 2b, 2c, 1a
add(5z, 5, 2) 呼び出しの結果は次のとおりです。
5a, 5b, 5z, 5c, 5x, 2a, 2b, 2c, 1a
add(3a, 3, 7) 呼び出しの結果は次のとおりです。
5a, 5b, 5z, 5c, 5x, 3a, 2a, 2b, 2c, 1a
通常のペイント/イベント方式では、1a が一番下、5a が一番上に表示されます。
注: これらのレイヤは単に論理的な構造であり、LayoutManager は、レイヤ設定には関係なく、このコンテナのすべての子コンポーネントに影響します。
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。今後の Swing リリースでは、長期間の持続性をサポートする予定です。
| 内部クラスの概要 | |
protected class |
JLayeredPane.AccessibleJLayeredPane
このオブジェクトのユーザ補助機能を取得するために使用するクラスです。 |
| クラス javax.swing.JComponent から継承した内部クラス |
JComponent.AccessibleJComponent |
| フィールドの概要 | |
static Integer |
DEFAULT_LAYER
デフォルトレイヤを定義する簡易オブジェクトです。 |
static Integer |
DRAG_LAYER
ドラッグレイヤを定義する簡易オブジェクトです。 |
static Integer |
FRAME_CONTENT_LAYER
フレーム内容レイヤを定義する簡易オブジェクトです。 |
static String |
LAYER_PROPERTY
バウンドプロパティです。 |
static Integer |
MODAL_LAYER
モーダルレイヤを定義する簡易オブジェクトです。 |
static Integer |
PALETTE_LAYER
パレットレイヤを定義する簡易オブジェクトです。 |
static Integer |
POPUP_LAYER
ポップアップレイヤを定義する簡易オブジェクトです。 |
| クラス javax.swing.JComponent から継承したフィールド |
accessibleContext,
listenerList,
TOOL_TIP_TEXT_KEY,
ui,
UNDEFINED_CONDITION,
WHEN_ANCESTOR_OF_FOCUSED_COMPONENT,
WHEN_FOCUSED,
WHEN_IN_FOCUSED_WINDOW |
| クラス java.awt.Component から継承したフィールド |
BOTTOM_ALIGNMENT,
CENTER_ALIGNMENT,
LEFT_ALIGNMENT,
RIGHT_ALIGNMENT,
TOP_ALIGNMENT |
| コンストラクタの概要 | |
JLayeredPane()
新しい JLayeredPane を作成します。 |
|
| メソッドの概要 | |
protected void |
addImpl(Component comp,
Object constraints,
int index)
|
AccessibleContext |
getAccessibleContext()
この JComponent に関連付けられた AccessibleContext を取得します。 |
int |
getComponentCountInLayer(int layer)
指定されたレイヤの現在の子の数を返します。 |
Component[] |
getComponentsInLayer(int layer)
指定されたレイヤのコンポーネントの配列を返します。 |
protected Hashtable |
getComponentToLayer()
コンポーネントをレイヤにマッピングするハッシュテーブルを返します。 |
int |
getIndexOf(Component c)
指定された Component のインデックスを返します。 |
int |
getLayer(Component c)
指定された Component のレイヤ属性を返します。 |
static int |
getLayer(JComponent c)
JComponent のレイヤプロパティを取得します。 |
static JLayeredPane |
getLayeredPaneAbove(Component c)
指定されたコンポーネントを含む最初の JLayeredPane を返す簡易メソッドです。 |
protected Integer |
getObjectForLayer(int layer)
指定されたレイヤに関連付けられている Integer オブジェクトを返します。 |
int |
getPosition(Component c)
レイヤ内でのコンポーネントの相対位置を取得します。 |
int |
highestLayer()
現在のすべての子から最高のレイヤ値を返します。 |
protected int |
insertIndexForLayer(int layer,
int position)
レイヤおよび位置の要求に従って新しい子を挿入する適切な位置を決定するためのプリミティブメソッドです。 |
boolean |
isOptimizedDrawingEnabled()
区画内のコンポーネントがオーバーラップ可能である場合には false を返します。 |
int |
lowestLayer()
現在のすべての子から最低のレイヤ値を返します。 |
void |
moveToBack(Component c)
コンポーネントを現在のレイヤで一番下 (位置 -1) に移動します。 |
void |
moveToFront(Component c)
コンポーネントを現在のレイヤで一番上 (位置 0) に移動します。 |
void |
paint(Graphics g)
指定されたグラフィックスコンテキストで、この JLayeredPane を描画します。 |
protected String |
paramString()
この JLayeredPane の文字列表現を返します。 |
static void |
putLayer(JComponent c,
int layer)
JComponent のレイヤプロパティを設定します。 |
void |
remove(int index)
この区画からインデックス付きのコンポーネントを削除します。 |
void |
setLayer(Component c,
int layer)
指定されたコンポーネントのレイヤ属性を設定し、レイヤ内で一番下のコンポーネントとします。 |
void |
setLayer(Component c,
int layer,
int position)
指定されたコンポーネントのレイヤ属性と、レイヤ内でのコンポーネントの位置を指定します。 |
void |
setPosition(Component c,
int position)
コンポーネントを現在のレイヤの position に移動します。 |
| クラス java.lang.Object から継承したメソッド |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
| フィールドの詳細 |
public static final Integer DEFAULT_LAYER
public static final Integer PALETTE_LAYER
public static final Integer MODAL_LAYER
public static final Integer POPUP_LAYER
public static final Integer DRAG_LAYER
public static final Integer FRAME_CONTENT_LAYER
JFramepublic static final String LAYER_PROPERTY
| コンストラクタの詳細 |
public JLayeredPane()
| メソッドの詳細 |
protected void addImpl(Component comp,
Object constraints,
int index)
public void remove(int index)
index - 削除するコンポーネントを指定した int 値getIndexOf(java.awt.Component)public boolean isOptimizedDrawingEnabled()
JComponent.isOptimizedDrawingEnabled()
public static void putLayer(JComponent c,
int layer)
c - 移動する JComponentlayer - 移動先のレイヤを指定する int 値setLayer(java.awt.Component, int)public static int getLayer(JComponent c)
c - チェックする JComponentpublic static JLayeredPane getLayeredPaneAbove(Component c)
c - チェックする ComponentJFrame,
JRootPane
public void setLayer(Component c,
int layer)
c - レイヤを設定する Componentlayer - 設定するレイヤを指定する int 値。値が小さいほど下層
public void setLayer(Component c,
int layer,
int position)
c - レイヤを設定する Componentlayer - 設定するレイヤを指定する int 値。値が小さいほど下層position - レイヤ内での位置を指定する int 値。0 が一番上、-1 が一番下public int getLayer(Component c)
c - チェックする Componentpublic int getIndexOf(Component c)
c - チェックする Componentpublic void moveToFront(Component c)
c - 移動する ComponentsetPosition(Component, int)public void moveToBack(Component c)
c - 移動する ComponentsetPosition(Component, int)
public void setPosition(Component c,
int position)
position に移動します。0 が一番上、-1 が一番下です。
注: 位置番号は java.awt.Container によって定義されており、レイヤ番号の順序の反対になっています。位置番号が小さいほど上 (0 が一番上)、大きいほど下になります。
c - 移動する Componentposition - -1 〜 N-1 (N は現在のレイヤのコンポーネント数) の範囲内の int 値public int getPosition(Component c)
c - チェックする ComponentgetComponentCountInLayer(int)public int highestLayer()
public int lowestLayer()
public int getComponentCountInLayer(int layer)
layer - チェックするレイヤを指定する int 値public Component[] getComponentsInLayer(int layer)
layer - チェックするレイヤを指定する int 値public void paint(Graphics g)
g - JLayeredPane を描画するグラフィックスコンテキストprotected Hashtable getComponentToLayer()
protected Integer getObjectForLayer(int layer)
layer - レイヤを指定する int 値
protected int insertIndexForLayer(int layer,
int position)
layer - レイヤを指定する int 値position - レイヤ内の位置を指定する int 値getIndexOf(java.awt.Component)protected String paramString()
null にはなりません。
JFC コンポーネントの新しい側面についての情報を返すには、paramString() をオーバーライドします。
public AccessibleContext getAccessibleContext()
|
Java プラットフォーム 1.2 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||