public class JLayeredPane extends JComponent implements Accessible
JLayeredPane
は JFC/Swing コンテナに深さを追加し、コンポーネントが必要に応じて互いにオーバーラップできるようにします。Integer
オブジェクトはコンテナ内での各コンポーネントの深さを表し、番号が大きいほどほかのコンポーネント「の上」に表示されます。階層化ペインに関するタスク指向のドキュメントおよび使用例は、「The Java Tutorial」の「How to Use a Layered Pane」を参照してください。
|
JLayeredPane
は深さの範囲をいくつかのレイヤーに分割しています。コンポーネントをこれらのレイヤーのどれかに配置することで、深さを指定する番号を指定することなしに、コンポーネントを適切にオーバーラップさせることができます。
JLayeredPane
のメソッドである moveToFront(Component)
、moveToBack(Component)
、および setPosition
を使用することで、レイヤー内でコンポーネントを再配置することができます。setLayer
メソッドを使用すると、コンポーネントの現在のレイヤーを変更することができます。
JLayeredPane
は、Container
と同じように子のリストを管理しますが、内部で複数のレイヤーを定義することができます。同じレイヤーに属する子は、通常の Container
オブジェクトとまったく同じように管理されますが、子コンポーネントどうしがオーバーラップした場合には、上位のレイヤーのコンポーネントの方が下位レイヤーのコンポーネントより上に表示されます。
各レイヤーには個別の整数値が割り当てられます。Component
のレイヤー属性を設定するには、add 呼び出しで Integer
オブジェクトを渡します。
たとえば、
layeredPane.add(child, JLayeredPane.DEFAULT_LAYER); or layeredPane.add(child, new Integer(10));Component のレイヤー属性を設定するには、
layeredPaneParent.setLayer(child, 10)をコンポーネントの親である
JLayeredPane
上で呼び出すこともできます。レイヤーは、子を親に追加する前に設定する必要があります。
番号が大きいレイヤーほど上に表示されます。したがって、次のように各コンポーネントに個別のレイヤー番号と文字を割り当てることにより、
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, 1aadd(5z, 5, 2) 呼び出しの結果は次のとおりです。
5a, 5b, 5z, 5c, 5x, 2a, 2b, 2c, 1aadd(3a, 3, 7) 呼び出しの結果は次のとおりです。
5a, 5b, 5z, 5c, 5x, 3a, 2a, 2b, 2c, 1a通常のペイント/イベント方式では、1a がいちばん下、5a がいちばん上に表示されます。
注: これらのレイヤーは単に論理的な構造であり、LayoutManager は、レイヤー設定には関係なく、このコンテナのすべての子コンポーネントに影響します。
警告: Swing はスレッドに対して安全ではありません。詳細は、「Swing's Threading Policy」を参照してください。
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の格納や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。1.4 以降、すべての JavaBeansTM 用の長期間の格納サポートが java.beans
パッケージに追加されています。XMLEncoder
を参照してください。
修飾子と型 | クラスと説明 |
---|---|
protected class |
JLayeredPane.AccessibleJLayeredPane
このクラスは
JLayeredPane クラスのアクセシビリティーサポートを実装しています。 |
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
修飾子と型 | フィールドと説明 |
---|---|
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
ポップアップレイヤーを定義する簡易オブジェクトです。
|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
コンストラクタと説明 |
---|
JLayeredPane()
新しい JLayeredPane を作成します。
|
修飾子と型 | メソッドと説明 |
---|---|
protected void |
addImpl(Component comp, Object constraints, int index)
指定されたコンポーネントを、指定されたインデックスで、コンテナへ追加します。
|
AccessibleContext |
getAccessibleContext()
この JLayeredPane に関連付けられた AccessibleContext を取得します。
|
int |
getComponentCountInLayer(int layer)
指定されたレイヤーの現在の子の数を返します。
|
Component[] |
getComponentsInLayer(int layer)
指定されたレイヤーのコンポーネントの配列を返します。
|
protected Hashtable<Component,Integer> |
getComponentToLayer()
コンポーネントをレイヤーにマッピングするハッシュテーブルを返します。
|
int |
getIndexOf(Component c)
指定された Component のインデックスを返します。
|
int |
getLayer(Component c)
指定された Component のレイヤー属性を返します。
|
static int |
getLayer(JComponent c)
JComponent のレイヤープロパティーを返します。このメソッドは、setLayer() のような副作用 (ペイント、追加/削除など) はありません。
|
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 |
removeAll()
このコンテナからすべてのコンポーネントを削除します。
|
void |
setLayer(Component c, int layer)
指定されたコンポーネントのレイヤー属性を設定し、レイヤー内でいちばん下のコンポーネントとします。
|
void |
setLayer(Component c, int layer, int position)
指定されたコンポーネントのレイヤー属性と、レイヤー内でのコンポーネントの位置を指定します。
|
void |
setPosition(Component c, int position)
コンポーネントを現在のレイヤーの
position に移動します。0 がいちばん上、-1 がいちばん下です。 |
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
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
JFrame
protected void addImpl(Component comp, Object constraints, int index)
Container
addLayoutComponent
メソッドを使用して、指定された制約オブジェクトを使ってこのコンテナのレイアウトにコンポーネントを追加することをレイアウトマネージャーに通知します。
制約は、使用されているレイアウトマネージャーで定義されます。たとえば BorderLayout
クラスは、BorderLayout.NORTH
、BorderLayout.SOUTH
、BorderLayout.EAST
、BorderLayout.WEST
、および BorderLayout.CENTER
の 5 つの制約を定義します。
GridBagLayout
クラスには GridBagConstraints
オブジェクトが必要です。正しい型の制約オブジェクトを渡さないと、IllegalArgumentException
が発生します。
現在のレイアウトマネージャーが LayoutManager2
を実装する場合は、LayoutManager2.addLayoutComponent(Component,Object)
が呼び出されます。現在のレイアウトマネージャーが LayoutManager2
を実装せず、制約が String
の場合は、LayoutManager.addLayoutComponent(String,Component)
が呼び出されます。
コンポーネントがこのコンテナの祖先ではなく、null でない親を持つ場合は、このコンテナに追加される前に現在の親から削除されます。
これは、プログラムがコンテナへのすべての追加要求を追跡する必要がある場合にオーバーライドするメソッドです。ほかのすべての追加メソッドはこれに従います。オーバーライドするメソッドは通常、メソッドのスーパークラスバージョンへの呼び出しを含めるようにしてください。
super.addImpl(comp, constraints, index)
このメソッドではレイアウトに関連する情報が変更されるため、コンポーネント階層が無効になります。コンテナがすでに表示されている場合は、追加されたコンポーネントを表示するために、あとで階層を検証する必要があります。
addImpl
、クラス: Container
comp
- 追加されるコンポーネントconstraints
- このコンポーネントのレイアウト制約を表現するオブジェクトindex
- コンポーネントを挿入するコンテナのリスト内での位置。-1
は最後に挿入することを意味するContainer.add(Component)
, Container.add(Component, int)
, Container.add(Component, java.lang.Object)
, Container.invalidate()
, LayoutManager
, LayoutManager2
public void remove(int index)
remove
、クラス: Container
index
- 削除するコンポーネントを指定した int 値getIndexOf(java.awt.Component)
public void removeAll()
removeAll
、クラス: Container
Container.add(java.awt.Component)
, Container.remove(int)
, Container.invalidate()
public boolean isOptimizedDrawingEnabled()
isOptimizedDrawingEnabled
、クラス: JComponent
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)
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)
paint
、クラス: JComponent
g
- ペイント先となる Graphics コンテキストJComponent.paintComponent(java.awt.Graphics)
, JComponent.paintBorder(java.awt.Graphics)
, JComponent.paintChildren(java.awt.Graphics)
, JComponent.getComponentGraphics(java.awt.Graphics)
, JComponent.repaint(long, int, int, int, int)
protected Hashtable<Component,Integer> 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
にはなりません。paramString
、クラス: JComponent
public AccessibleContext getAccessibleContext()
getAccessibleContext
、インタフェース: Accessible
getAccessibleContext
、クラス: JComponent
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.