|
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 도 참조해 주세요.