public abstract class BasicTextUI extends TextUI implements ViewFactory
基础的文本组件的外观和感觉。这提供了基本的编辑视图和控制器的服务可能是有用的当创建一个外观和感觉的JTextComponent
延伸。
大多数州举行相关的JTextComponent
作为绑定的属性,和UI设置默认值的各种属性。此默认将为所有的属性安装一些东西。通常,一个LAF实施将做更多的但是。至少,一卷一般会安装密钥绑定。
这个类还提供了一些并发支持如果与jtextcomponent相关的Document
是AbstractDocument
子类。访问视图(或视图)序列化任何线程突变模型和Swing事件线程之间(这是预期的渲染,做模型/视图坐标转换,等)。任何访问根视图应该首先在finally块中获得读锁,锁abstractdocument和释放。
定义的一个重要方法是getPropertyPrefix()
方法作为用来取个默认密钥的基础。字符串应反映当类型(如文本、文本,等等)没有名字的一部分(如金属,特别是LAF的母题,等)。
要建立一个视图的模型,可以采用以下策略之一。
create(javax.swing.text.Element)
执行方法。警告:序列化该类的对象与以后的Swing版本不兼容。当前的序列化支持适用于短期贮藏或RMI运行相同Swing版本的应用程序之间。为1.4,为所有JavaBeans™长期存储的支持已被添加到java.beans
包。请看XMLEncoder
。
Modifier and Type | Class and Description |
---|---|
static class |
BasicTextUI.BasicCaret |
static class |
BasicTextUI.BasicHighlighter |
Constructor and Description |
---|
BasicTextUI()
创建一个新的用户界面。
|
Modifier and Type | Method and Description |
---|---|
View |
create(Element elem)
为元素创建一个视图。
|
View |
create(Element elem, int p0, int p1)
为元素创建一个视图。
|
protected Caret |
createCaret()
创建使用插入对象。
|
protected Highlighter |
createHighlighter()
创建用于添加亮点的对象。
|
protected Keymap |
createKeymap()
创造你所使用的文本组件,并安装任何所需的绑定到它。
|
void |
damageRange(JTextComponent tc, int p0, int p1)
导致负责模型给出的部分重新绘制视图的部分。
|
void |
damageRange(JTextComponent t, int p0, int p1, Position.Bias p0Bias, Position.Bias p1Bias)
导致负责模型给出的部分重新绘制视图的部分。
|
protected JTextComponent |
getComponent()
与此相关的文本组件用户界面的实现。
|
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)
提供了一种方法来确定下一步的直观模型,一个可能的地方插入位置。
|
Dimension |
getPreferredSize(JComponent c)
获取编辑器组件的首选大小。
|
protected abstract String |
getPropertyPrefix()
获取用于查找性能的一个关键的名字”。
|
View |
getRootView(JTextComponent tc)
获取与关联文本组件配置视图(即
|
String |
getToolTipText(JTextComponent t, Point pt)
返回可在通过定位工具提示字符串。
|
protected Rectangle |
getVisibleEditorRect()
获取分配给根视图。
|
protected void |
installDefaults()
初始化组件的属性,如字体、前景、背景、符号的颜色,选择颜色,选择文字颜色,禁用的文本颜色,和边框颜色。
|
protected void |
installKeyboardActions() |
protected void |
installListeners()
为用户界面安装侦听器。
|
void |
installUI(JComponent c)
安装组件的用户界面。
|
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)
安全地绘制界面,保证模型不会从这个线程的视图改变。
|
protected void |
propertyChange(PropertyChangeEvent evt)
该方法被调用时,绑定属性是相关的jtextcomponent改变。
|
protected void |
setView(View v)
设置视图层次结构的根和电话invalidate()电流。
|
protected void |
uninstallDefaults()
设置组件的属性尚未明确,
null 。
|
protected void |
uninstallKeyboardActions() |
protected void |
uninstallListeners()
卸载的听众的UI。
|
void |
uninstallUI(JComponent c)
deinstalls为组件的用户界面。
|
void |
update(Graphics g, JComponent c)
父类涂料背景在不受控制的方式(即
|
int |
viewToModel(JTextComponent tc, Point pt)
将视图坐标系中的给定位置转换为模型中的最近的有代表性的位置。
|
int |
viewToModel(JTextComponent tc, Point pt, Position.Bias[] biasReturn)
将视图坐标系中的给定位置转换为模型中的最近的有代表性的位置。
|
contains, createUI, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior
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()
protected void uninstallDefaults()
null
。物业是考虑重写如果其当前值不是一个
UIResource
。
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)
null
或UIResource
实例。installUI
方法重写,继承类
ComponentUI
c
-编辑组件
ComponentUI.installUI(javax.swing.JComponent)
public void uninstallUI(JComponent c)
uninstallUI
方法重写,继承类
ComponentUI
c
-编辑组件
ComponentUI.uninstallUI(javax.swing.JComponent)
public void update(Graphics g, JComponent c)
注意:注意:Superclass也不是线程安全的背景渲染,虽然这不是一个默认的渲染问题。
update
方法重写,继承类
ComponentUI
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)
paint
方法重写,继承类
ComponentUI
g
-图形上下文
c
-编辑组件
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
public Dimension getPreferredSize(JComponent c)
getPreferredSize
方法重写,继承类
ComponentUI
c
-编辑组件
JComponent.getPreferredSize()
,
LayoutManager.preferredLayoutSize(java.awt.Container)
public Dimension getMinimumSize(JComponent c)
getMinimumSize
方法重写,继承类
ComponentUI
c
-编辑组件
JComponent.getMinimumSize()
,
LayoutManager.minimumLayoutSize(java.awt.Container)
,
ComponentUI.getPreferredSize(javax.swing.JComponent)
public Dimension getMaximumSize(JComponent c)
getMaximumSize
方法重写,继承类
ComponentUI
c
-编辑组件
JComponent.getMaximumSize()
,
LayoutManager2.maximumLayoutSize(java.awt.Container)
protected Rectangle getVisibleEditorRect()
public Rectangle modelToView(JTextComponent tc, int pos) throws BadLocationException
modelToView
方法重写,继承类
TextUI
tc
-文本组件,这个插件安装
pos
在模型的局部位置翻译> = 0
BadLocationException
-如果给定的位置不在相关文件表示一个有效的位置
TextUI.modelToView(javax.swing.text.JTextComponent, int)
public Rectangle modelToView(JTextComponent tc, int pos, Position.Bias bias) throws BadLocationException
modelToView
方法重写,继承类
TextUI
tc
-文本组件,这个插件安装
pos
在模型的局部位置翻译> = 0
BadLocationException
-如果给定的位置不在相关文件表示一个有效的位置
TextUI.modelToView(javax.swing.text.JTextComponent, int)
public int viewToModel(JTextComponent tc, Point pt)
viewToModel
方法重写,继承类
TextUI
tc
-文本组件,这个插件安装
pt
-视图中的位置翻译。这应该是在同一个坐标系统中的鼠标事件。
TextUI.viewToModel(javax.swing.text.JTextComponent, java.awt.Point)
public int viewToModel(JTextComponent tc, Point pt, Position.Bias[] biasReturn)
viewToModel
方法重写,继承类
TextUI
tc
-文本组件,这个插件安装
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
getNextVisualPositionFrom
方法重写,继承类
TextUI
t
-文本组件,这个插件安装
pos
-位置转换> = 0
b
-位置的偏差
direction
-这可以被认为是箭头键通常发现键盘上的当前位置的方向。这可能是swingconstants.west,swingconstants.east,SwingConstants.NORTH,或swingconstants.south
biasRet
-数组包含返回的位置偏差
BadLocationException
public void damageRange(JTextComponent tc, int p0, int p1)
damageRange
方法重写,继承类
TextUI
tc
-文本组件,这个插件安装
p0
-范围> = 0的开始
p1
-结束的范围> = P0
TextUI.damageRange(javax.swing.text.JTextComponent, int, int)
public void damageRange(JTextComponent t, int p0, int p1, Position.Bias p0Bias, Position.Bias p1Bias)
damageRange
方法重写,继承类
TextUI
p0
-范围> = 0的开始
p1
-结束的范围> = P0
public EditorKit getEditorKit(JTextComponent tc)
getEditorKit
方法重写,继承类
TextUI
tc
-文本组件,这个插件安装
TextUI.getEditorKit(javax.swing.text.JTextComponent)
public View getRootView(JTextComponent tc)
注:the视图层次可以遍历从根视图,和其他的东西可以做的很好。事情这样不能做保护喜欢简单的方法调用通过当。因此,在并发的存在下,正确的操作必须由调用该方法的任何逻辑来设置!
getRootView
方法重写,继承类
TextUI
tc
-文本组件,这个插件安装
TextUI.getRootView(javax.swing.text.JTextComponent)
public String getToolTipText(JTextComponent t, Point pt)
getToolTipText
方法重写,继承类
TextUI
JTextComponent.getToolTipText(java.awt.event.MouseEvent)
,
View.getToolTipText(float, float, java.awt.Shape)
public View create(Element elem)
create
接口
ViewFactory
elem
-元素
View
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.