|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JLayeredPane
public class JLayeredPane
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); 또는 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, 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 는 thread에 대해서 안전하지는 않습니다. 자세한 것은,「Swing's Threading Policy」를 참조해 주세요.
경고: 이 클래스의 직렬화 된 객체는, 향후의 Swing 릴리스와 호환은 아니게 될 예정입니다. 현재의 직렬화의 지원는, 단기간의 운용이나, 같은 버젼의 Swing 를 실행하는 어플리케이션간의 RMI 에 적절하고 있습니다. JDK Version 1.4 이후, 모든 JavaBeans™ 의 장기간의 운용 지원는,java.beans
패키지에 추가되고 있습니다. 자세한 것은,XMLEncoder
를 참조해 주세요.
상자의 클래스의 개요 | |
---|---|
protected class |
JLayeredPane.AccessibleJLayeredPane
이 클래스는 JLayeredPane 클래스용의 접근성? 지원를 구현하고 있습니다. |
클래스 javax.swing. JComponent 로부터 상속된 상자의 클래스/인터페이스 |
---|
JComponent.AccessibleJComponent |
클래스 java.awt. Container 로부터 상속된 상자의 클래스/인터페이스 |
---|
Container.AccessibleAWTContainer |
클래스 java.awt. Component 로부터 상속된 상자의 클래스/인터페이스 |
---|
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
pop-up 층을 정의하는 간이 객체입니다. |
클래스 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 |
인터페이스 java.awt.image. ImageObserver 로부터 상속된 필드 |
---|
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 의 층 프로퍼티을 돌려줍니다. |
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)
층 및 위치의 요구에 따라 새로운 아이를 삽입하는 적절한 위치를 결정하기 위한 프리미티브(primitive) 메소드입니다. |
boolean |
isOptimizedDrawingEnabled ()
구획내의 컴퍼넌트가 오버랩 가능한 경우에는 false 를 돌려줍니다. |
int |
lowestLayer ()
현재의 모든 아이로부터 최소 층치를 돌려줍니다. |
void |
moveToBack (Component c)
컴퍼넌트를 현재의 층으로 맨 밑 (위치 -1)으로 이동합니다. |
void |
moveToFront (Component c)
컴퍼넌트를 현재의 층으로 맨 위 (위치 0)로 이동합니다. |
void |
paint (Graphics g)
지정된 그래픽스 문맥으로, 이 JLayeredPane 를 draw 합니다. |
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 로 이동합니다. |
클래스 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
JFrame
public static final String LAYER_PROPERTY
생성자 의 상세 |
---|
public JLayeredPane()
메소드의 상세 |
---|
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 가 아닌 부모가 있는 경우는, 이 컨테이너에 추가되기 전에 현재의 부모로부터 삭제됩니다.
이것은, 프로그램이 컨테이너에의 모든 추가 요구를 추적할 필요가 있는 경우에 오버라이드(override) 하는 메소드입니다. 다른 모든 추가 메소드에서는 추적을 실시하지 않습니다. 오버라이드(override) 하는 메소드는, 일반적으로, 메소드의 슈퍼 클래스의 버젼의 호출을 포함할 필요가 있습니다.
super.addImpl(comp, constraints, index)
Container
내의 addImpl
comp
- 추가되는 컴퍼넌트constraints
- 이 컴퍼넌트의 배치 조건을
표현하는 객체index
- 컴퍼넌트를 삽입하는 컨테이너의 리스트내에서의 위치.
-1
하
마지막에 추가하는 것을 의미하는Container.add(Component)
,
Container.add(Component, int)
,
Container.add(Component, java.lang.Object)
,
LayoutManager
,
LayoutManager2
public void remove(int index)
Container
내의 remove
index
- 삭제하는 컴퍼넌트를 지정한 int 치getIndexOf(java.awt.Component)
public void removeAll()
Container
내의 removeAll
Container.add(java.awt.Component)
,
Container.remove(int)
public boolean isOptimizedDrawingEnabled()
JComponent
내의 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
- 체크 대상의 JComponent
public static JLayeredPane getLayeredPaneAbove(Component c)
c
- 체크 대상의 Component
JFrame
,
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
- 체크 대상의 Component
public int getIndexOf(Component c)
c
- 체크 대상의 Component
public 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
- 체크 대상의 Component
getComponentCountInLayer(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)
JComponent
내의 paint
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
로는 되지 않습니다.
JComponent
내의 paramString
public AccessibleContext getAccessibleContext()
Accessible
내의 getAccessibleContext
JComponent
내의 getAccessibleContext
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.