|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object javax.swing.text.View javax.swing.text.ComponentView
public class ComponentView
实现视图接口的组件装饰器。整个元素用于代表该组件。它充当了只供显示的 View 实现和交互式轻量级组件之间的网关(即允许组件嵌入 View 层次结构中)。
组件根据 Component.getAlignmentY
返回的值相对于文本基线放置。对于 Swing 组件,使用 JComponent.setAlignmentY
方法可以很便捷地设置此值。例如,值设置为 0.75
将使组件的 75% 位于基线的上面,25% 位于基线的下面。
通过确保在事件线程中完成对所有的组件访问,实现此类可完成在多线程情况下(例如,来自模型更改的同步通知)进行正常工作所需的工作。
所使用的组件由 createComponent 方法的返回值确定。此方法的默认实现为将存储的组件作为元素的一个属性返回(通过调用 StyleConstants.getComponent)。此行为有一个限制,组件不能由多于一个文本组件(即可共享的模型)使用。通过实现 createComponent 从而实际上基于属性中包含的某种规范创建一个组件,子类可消除此约束。html 包中的 ObjectView 类为 ComponentView 实现的一个示例,它支持一个共享模型的多组件视图。
字段摘要 |
---|
从类 javax.swing.text.View 继承的字段 |
---|
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS |
从接口 javax.swing.SwingConstants 继承的字段 |
---|
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
构造方法摘要 | |
---|---|
ComponentView(Element elem)
创建新的 ComponentView 对象。 |
方法摘要 | |
---|---|
protected Component |
createComponent()
创建与此视图关联的组件。 |
float |
getAlignment(int axis)
确定此视图沿某轴所需的对齐方式。 |
Component |
getComponent()
获取与此视图关联的组件。 |
float |
getMaximumSpan(int axis)
确定此视图沿某轴的最大区域。 |
float |
getMinimumSpan(int axis)
确定此视图沿某轴的最小区域。 |
float |
getPreferredSpan(int axis)
确定此视图沿某轴的首选区域。 |
Shape |
modelToView(int pos,
Shape a,
Position.Bias b)
提供模型坐标空间到视图坐标空间的映射。 |
void |
paint(Graphics g,
Shape a)
真正的绘制行为自然来源于组件与其父容器(容纳此视图的同一容器)之间的关联。 |
void |
setParent(View p)
为子视图设置父级。 |
int |
viewToModel(float x,
float y,
Shape a,
Position.Bias[] bias)
提供从视图坐标空间到模型逻辑坐标空间的映射。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public ComponentView(Element elem)
elem
- 要装饰的元素方法详细信息 |
---|
protected Component createComponent()
public final Component getComponent()
public void paint(Graphics g, Shape a)
View
中的 paint
g
- 图形上下文a
- 形状View.paint(java.awt.Graphics, java.awt.Shape)
public float getPreferredSpan(int axis)
View
中的 getPreferredSpan
axis
- 可以是 View.X_AXIS 或 View.Y_AXIS
IllegalArgumentException
- 如果轴无效View.getPreferredSpan(int)
public float getMinimumSpan(int axis)
View
中的 getMinimumSpan
axis
- 可以是 View.X_AXIS 或 View.Y_AXIS
IllegalArgumentException
- 如果轴无效View.getPreferredSpan(int)
public float getMaximumSpan(int axis)
View
中的 getMaximumSpan
axis
- 可以是 View.X_AXIS 或 View.Y_AXIS
IllegalArgumentException
- 如果轴无效View.getPreferredSpan(int)
public float getAlignment(int axis)
View
中的 getAlignment
axis
- 可以是 View.X_AXIS 或 View.Y_AXIS
public void setParent(View p)
getContainer
返回的值。如果父视图参数为 null,此视图将被清空,这样组件将从其父中移除。
更改组件所在的层次结构将会触动组件锁,这是 View 层次结构的一个不安全之处。因此,如果在事件线程中,则会立即执行此功能;如果是从另一个线程(来自异步更新的更改通知)调用,则此功能将在事件队列排队。
View
中的 setParent
p
- 父级public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
View
中的 modelToView
pos
- 要转换的位置,该值 >= 0a
- 分配的要在其中呈现的区域b
- 当位置是两个视图的边界时,该参数是离由偏移量表示的前一个字符或者下一个字符的偏差;b
将是这些值之一:
Position.Bias.Forward
Position.Bias.Backward
BadLocationException
- 如果给定位置在所关联的文档中不是一个有效位置View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)
public int viewToModel(float x, float y, Shape a, Position.Bias[] bias)
View
中的 viewToModel
x
- X 坐标,该值 >= 0y
- Y 坐标,该值 >= 0a
- 分配的要在其中呈现的区域
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。