|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.swing.plaf.ComponentUI
javax.swing.plaf.TextUI
javax.swing.plaf.basic.BasicTextUI
public abstract class BasicTextUI
텍스트 컴퍼넌트의 Look & Feel 의 기초가 되는 클래스입니다. 이 클래스는,JTextComponent
의 확장을 위한 Look & Feel 를 작성할 경우에 편리한, 에디터의 뷰 및 콘트롤러의 기본적인 서비스를 제공합니다.
많은 경우, 상태는 관련하는 JTextComponent
에 바운드 프로퍼티으로서 보관 유지되고 있어 UI 에서는 각 프로퍼티의 디폴트 값가 인스톨 됩니다. 이 디폴트의 동작에 의해, 모든 프로퍼티에 대해서 값이 인스톨 됩니다만, 일반적으로, Look & Feel 의 구현에서는 한층 더 많은 일을 합니다. Look & Feel 의 구현에 의해, 적어도 키 바인딩이 인스톨 되는 것이 보통입니다.
또, JTextComponent 에 관련한 Document
가 AbstractDocument
의 서브 클래스인 경우, 이 클래스는 병행 지원도 제공합니다. View 또는 View 계층에의 액세스는, 모델을 변경하는 thread와 draw 하고 싶은 모델과 뷰간의 좌표변화를 행하거나하기 위한 Swing 이벤트 thread와의 사이에 직렬화 됩니다. 르트뷰에 액세스 하려면 , 최초로 AbstractDocument 의 읽기 락을 취득해, 그 락을 최종 블록으로 해제할 필요가 있습니다.
정의할 필요가 있는 중요한 메소드는, UIManager 로부터 디폴트의 값을 꺼내기 위해서(때문에) 사용되는 키의 기초인 getPropertyPrefix()
메소드입니다. 취득한 캐릭터 라인은, 이름의 특정의 Look & Feel 부분 (Metal, Motif 등)이 없는 TextUI 의 형태 (TextField, TextArea 등)를 반영합니다.
모델의 뷰를 구축하려면 , 다음에 나타내는 방법의 어느쪽이든을 사용합니다.
create(javax.swing.text.Element)
메소드를 다시 구현합니다.
경고: 이 클래스의 직렬화 된 객체는, 향후의 Swing 릴리스와 호환은 아니게 될 예정입니다. 현재의 직렬화의 지원는, 단기간의 운용이나, 같은 버젼의 Swing 를 실행하는 어플리케이션간의 RMI 에 적절하고 있습니다. JDK Version 1.4 이후, 모든 JavaBeans™ 의 장기간의 운용 지원는,java.beans
패키지에 추가되고 있습니다. 자세한 것은,XMLEncoder
를 참조해 주세요.
상자의 클래스의 개요 | |
---|---|
static class |
BasicTextUI.BasicCaret
|
static class |
BasicTextUI.BasicHighlighter
|
생성자 의 개요 | |
---|---|
BasicTextUI ()
새로운 UI 를 작성합니다. |
메소드의 개요 | |
---|---|
View |
create (Element elem)
요소의 뷰를 작성합니다. |
View |
create (Element elem,
int p0,
int p1)
요소의 뷰를 작성합니다. |
protected Caret |
createCaret ()
caret에 사용하는 객체를 작성합니다. |
protected Highlighter |
createHighlighter ()
하이라이트를 추가하기 위해서 사용하는 객체를 작성합니다. |
protected Keymap |
createKeymap ()
텍스트 컴퍼넌트에 사용하는 키 맵을 작성해, 거기에 필요한 바인딩을 인스톨 합니다. |
void |
damageRange (JTextComponent tc,
int p0,
int p1)
모델내의 지정된 일부분에 대응하는 뷰의 부분이 draw 다시 합니다. |
void |
damageRange (JTextComponent t,
int p0,
int p1,
Position.Bias p0Bias,
Position.Bias p1Bias)
모델내의 지정된 일부분에 대응하는 뷰의 부분이 draw 다시 합니다. |
protected JTextComponent |
getComponent ()
이 UI 의 구현에 관련한 텍스트 컴퍼넌트를 가져옵니다. |
EditorKit |
getEditorKit (JTextComponent tc)
UI 의 EditorKit 를 가져옵니다. |
protected String |
getKeymapName ()
이 UI 에 디폴트로 인스톨 또는 사용되는 키 맵의 이름을 가져옵니다. |
Dimension |
getMaximumSize (JComponent c)
에디터 컴퍼넌트의 최대 사이즈를 돌려줍니다. |
Dimension |
getMinimumSize (JComponent c)
에디터 컴퍼넌트의 최소 사이즈를 돌려줍니다. |
int |
getNextVisualPositionFrom (JTextComponent t,
int pos,
Position.Bias b,
int direction,
Position.Bias [] biasRet)
caret가 배치될 가능성이 있는, 시각적으로 나타내진 다음의 모델 위치를 결정하는 수단을 제공합니다. |
Dimension |
getPreferredSize (JComponent c)
에디터 컴퍼넌트의 적절한 사이즈를 가져옵니다. |
protected abstract String |
getPropertyPrefix ()
UIManager 를 개입시켜 프로퍼티을 참조하기 위한 키로서 사용되는 이름을 돌려줍니다. |
View |
getRootView (JTextComponent tc)
모델이 공간적으로 어떻게 표현되고 있는지를 판정하기 위해서 횡단(traverse) 할 수 있는, 관련한 텍스트 컴퍼넌트 (즉 계층 루트)를 할당할 수 있었던 View 를 가져옵니다. |
String |
getToolTipText (JTextComponent t,
Point pt)
건네받은 위치에서 툴 팁으로 해서 사용되는 캐릭터 라인을 돌려줍니다. |
protected Rectangle |
getVisibleEditorRect ()
루트 View 로 지정하는 할당을 가져옵니다. |
protected void |
installDefaults ()
폰트, foreground, 백그라운드, caret의 색, 선택의 색, 선택된 텍스트의 색, 무효가 된 텍스트의 색, 경계의 색등의 컴퍼넌트 프로퍼티을 초기화합니다. |
protected void |
installKeyboardActions ()
|
protected void |
installListeners ()
UI 의 청취자를 인스톨 합니다. |
void |
installUI (JComponent c)
컴퍼넌트의 UI 를 인스톨 합니다. |
protected void |
modelChanged ()
모델의 변경에 플래그를 세웁니다. |
Rectangle |
modelToView (JTextComponent tc,
int pos)
모델내의 지정된 위치를, 뷰 좌표 체계내의 장소로 변환합니다. |
Rectangle |
modelToView (JTextComponent tc,
int pos,
Position.Bias bias)
모델내의 지정된 위치를, 뷰 좌표 체계내의 장소로 변환합니다. |
void |
paint (Graphics g,
JComponent c)
인터페이스를 그립니다. |
protected void |
paintBackground (Graphics g)
뷰의 백그라운드를 그립니다. |
protected void |
paintSafely (Graphics g)
이 thread의 뷰로부터 모델이 변경되지 않는다고 하는 보증 첨부로, 안전하게 인터페이스를 그립니다. |
protected void |
propertyChange (PropertyChangeEvent evt)
이 메소드는, 관련하는 JTextComponent 의 바운드 프로퍼티이 변경되었을 때에 불려 갑니다. |
protected void |
setView (View v)
뷰 계층의 현재의 루트를 설정해, invalidate()를 호출합니다. |
protected void |
uninstallDefaults ()
null 에 명시적으로 오버라이드(override)되어 있지 않은 컴퍼넌트 프로퍼티을 설정합니다. |
protected void |
uninstallKeyboardActions ()
|
protected void |
uninstallListeners ()
UI 의 청취자를 언인스톨합니다. |
void |
uninstallUI (JComponent c)
컴퍼넌트의 UI 를 언인스톨합니다. |
void |
update (Graphics g,
JComponent c)
슈퍼 클래스는 제어 불가능한 방법으로 백그라운드를 그립니다. |
int |
viewToModel (JTextComponent tc,
Point pt)
뷰 좌표 체계내의 지정된 장소를, 모델내의 가장 가까운 위치로 변환합니다. |
int |
viewToModel (JTextComponent tc,
Point pt,
Position.Bias [] biasReturn)
뷰 좌표 체계내의 지정된 장소를, 모델내의 가장 가까운 위치로 변환합니다. |
클래스 javax.swing.plaf. ComponentUI 로부터 상속된 메소드 |
---|
contains , createUI , getAccessibleChild , getAccessibleChildrenCount , getBaseline , getBaselineResizeBehavior |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public BasicTextUI()
메소드의 상세 |
---|
protected Caret createCaret()
protected Highlighter createHighlighter()
protected String getKeymapName()
protected Keymap createKeymap()
키 맵을 작성하기 위해서 사용되는 바인딩세트는,getPropertyPrefix()
메소드와 캐릭터 라인 . keyBindings
를 결합한 키를 사용해 UIManager 로부터 취득됩니다. 형태는,JTextComponent.KeyBinding[]
이다고 보여집니다.
getKeymapName()
,
JTextComponent
protected void propertyChange(PropertyChangeEvent evt)
evt
- 프로퍼티 변경 이벤트protected abstract String getPropertyPrefix()
protected void installDefaults()
uninstallDefaults()
,
installUI(javax.swing.JComponent)
protected void uninstallDefaults()
installDefaults()
,
uninstallUI(javax.swing.JComponent)
protected void installListeners()
protected void uninstallListeners()
protected void installKeyboardActions()
protected void uninstallKeyboardActions()
protected void paintBackground(Graphics g)
g
- 그래픽스 문맥protected final JTextComponent getComponent()
protected void modelChanged()
protected final void setView(View v)
v
- 르트뷰protected void paintSafely(Graphics g)
g
- 그래픽스 문맥public void installUI(JComponent c)
ComponentUI
내의 installUI
c
- 에디터 컴퍼넌트ComponentUI.installUI(javax.swing.JComponent)
public void uninstallUI(JComponent c)
ComponentUI
내의 uninstallUI
c
- 에디터 컴퍼넌트ComponentUI.uninstallUI(javax.swing.JComponent)
public void update(Graphics g, JComponent c)
주:또, 디폴트의 draw의 경우는 문제 없습니다만, 슈퍼 클래스의 경우는 백그라운드 draw시에 thread 세이프가 아닙니다.
ComponentUI
내의 update
g
- 페인트 대상의 Graphics
문맥c
- 페인트 되는 컴퍼넌트.
이 인수는 일반적으로 무시되지만,
UI 객체에 상태가 없고, 복수의 컴퍼넌트에 공유되고 있는 경우는
사용되는 일이 있는ComponentUI.paint(java.awt.Graphics, javax.swing.JComponent)
,
JComponent.paintComponent(java.awt.Graphics)
public final void paint(Graphics g, JComponent c)
ComponentUI
내의 paint
g
- 그래픽스 문맥c
- 에디터 컴퍼넌트ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
public Dimension getPreferredSize(JComponent c)
ComponentUI
내의 getPreferredSize
c
- 에디터 컴퍼넌트
JComponent.getPreferredSize()
,
LayoutManager.preferredLayoutSize(java.awt.Container)
public Dimension getMinimumSize(JComponent c)
ComponentUI
내의 getMinimumSize
c
- 에디터 컴퍼넌트
JComponent.getMinimumSize()
,
LayoutManager.minimumLayoutSize(java.awt.Container)
,
ComponentUI.getPreferredSize(javax.swing.JComponent)
public Dimension getMaximumSize(JComponent c)
ComponentUI
내의 getMaximumSize
c
- 에디터 컴퍼넌트
JComponent.getMaximumSize()
,
LayoutManager2.maximumLayoutSize(java.awt.Container)
protected Rectangle getVisibleEditorRect()
public Rectangle modelToView(JTextComponent tc, int pos) throws BadLocationException
TextUI
내의 modelToView
tc
- 이 UI 가 인스톨 되고 있는 텍스트 컴퍼넌트pos
- 변환 대상의 모델내에서의 로컬 위치 >= 0
BadLocationException
- 지정된 위치가, 관련하는 문서내의
유효한 위치를 나타내지 않는 경우TextUI.modelToView(javax.swing.text.JTextComponent, int)
public Rectangle modelToView(JTextComponent tc, int pos, Position.Bias bias) throws BadLocationException
TextUI
내의 modelToView
tc
- 이 UI 가 인스톨 되고 있는 텍스트 컴퍼넌트pos
- 변환 대상의 모델내에서의 로컬 위치 >= 0
BadLocationException
- 지정된 위치가, 관련하는 문서내의
유효한 위치를 나타내지 않는 경우TextUI.modelToView(javax.swing.text.JTextComponent, int)
public int viewToModel(JTextComponent tc, Point pt)
TextUI
내의 viewToModel
tc
- 이 UI 가 인스톨 되고 있는 텍스트 컴퍼넌트pt
- 변환 대상의 뷰의 좌표계에서의 위치. 이 경우의 좌표계는, 마우스 이벤트와 같은 좌표계가 아니면 안된다
TextUI.viewToModel(javax.swing.text.JTextComponent, java.awt.Point)
public int viewToModel(JTextComponent tc, Point pt, Position.Bias [] biasReturn)
TextUI
내의 viewToModel
tc
- 이 UI 가 인스톨 되고 있는 텍스트 컴퍼넌트pt
- 변환 대상의 뷰의 좌표계에서의 위치. 이 경우의 좌표계는, 마우스 이벤트와 같은 좌표계가 아니면 안되는biasReturn
- 지정된 점이 모델의 전의 문자와
다음의 문자의 어느 쪽으로 가까운 것인지를 나타내기 (위해)때문에,
이 메소드에 의해 기입해진다
TextUI.viewToModel(javax.swing.text.JTextComponent, java.awt.Point)
public int getNextVisualPositionFrom(JTextComponent t, int pos, Position.Bias b, int direction, Position.Bias [] biasRet) throws BadLocationException
TextUI
내의 getNextVisualPositionFrom
t
- 이 UI 가 인스톨 되고 있는 텍스트 컴퍼넌트pos
- 변환 대상의 위치 >= 0b
- 위치의 바이어스direction
- 현재 위치로부터의 방향.
이것은, 키보드에 일반적으로 존재하는 커서 키라고 볼 수가 있어
SwingConstants.WEST, SwingConstants.EAST,
SwingConstants.NORTH, 또는 SwingConstants.SOUTH 가 되는biasRet
- 반환되는 위치의 바이어스를 포함한 배열
BadLocationException
public void damageRange(JTextComponent tc, int p0, int p1)
TextUI
내의 damageRange
tc
- 이 UI 가 인스톨 되고 있는 텍스트 컴퍼넌트p0
- 범위의 시점 >= 0p1
- 범위의 종점 >= p0TextUI.damageRange(javax.swing.text.JTextComponent, int, int)
public void damageRange(JTextComponent t, int p0, int p1, Position.Bias p0Bias, Position.Bias p1Bias)
TextUI
내의 damageRange
p0
- 범위의 시점 >= 0p1
- 범위의 종점 >= p0public EditorKit getEditorKit(JTextComponent tc)
TextUI
내의 getEditorKit
tc
- 이 UI 가 인스톨 되고 있는 텍스트 컴퍼넌트
TextUI.getEditorKit(javax.swing.text.JTextComponent)
public View getRootView(JTextComponent tc)
주: View 계층은 르트뷰로부터 횡단(traverse) 할 수가 있어 다른 일도 이와 같이 할 수 있습니다. 이와 같이 행해졌던 것은, TextUI 를 통한 단순한 메소드 호출과 같이 보호할 수가 없습니다. 따라서, 병행성을 생각되는 적절한 조작은, 이 메소드를 호출하는 논리로 처리를 하도록(듯이) 할 필요가 있습니다.
TextUI
내의 getRootView
tc
- 이 UI 가 인스톨 되고 있는 텍스트 컴퍼넌트
TextUI.getRootView(javax.swing.text.JTextComponent)
public String getToolTipText(JTextComponent t, Point pt)
TextUI
내의 getToolTipText
JTextComponent.getToolTipText(java.awt.event.MouseEvent)
,
View.getToolTipText(float, float, java.awt.Shape)
public View create(Element elem)
ViewFactory
내의 create
elem
- 요소
View
public View create(Element elem, int p0, int p1)
elem
- 요소p0
- 개시 오프셋(offset) <= 0p1
- 종료 오프셋(offset) >= p0
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.