|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.swing.text
类 ComponentView
java.lang.Object javax.swing.text.View javax.swing.text.ComponentView
- 所有已实现的接口:
- SwingConstants
- 直接已知子类:
- FormView, ObjectView
-
public class ComponentView
- extends View
实现视图接口的组件装饰器。整个元素用于代表该组件。它充当了只供显示的 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 |
构造方法详细信息 |
---|
ComponentView
public ComponentView(Element elem)
-
创建新的 ComponentView 对象。
- 参数:
elem
- 要装饰的元素
方法详细信息 |
---|
createComponent
protected Component createComponent()
- 创建与此视图关联的组件。当确定需要一个新组件时将调用此方法。在调用 setParent 的过程中,或者在收到属性已更改的通知时,都有可能调用上面的方法。
-
getComponent
public final Component getComponent()
- 获取与此视图关联的组件。
-
paint
public void paint(Graphics g, Shape a)
- 真正的绘制行为自然来源于组件与其父容器(容纳此视图的同一容器)之间的关联。实现它不进行任何操作。
-
- 参数:
g
- 图形上下文a
- 形状- 另请参见:
View.paint(java.awt.Graphics, java.awt.Shape)
getPreferredSpan
public float getPreferredSpan(int axis)
- 确定此视图沿某轴的首选区域。实现它可返回由 Component.getPreferredSize 返回的沿所需轴的值。
-
- 指定者:
-
类
View
中的getPreferredSpan
-
- 参数:
axis
- 可以是 View.X_AXIS 或 View.Y_AXIS- 返回:
- 视图可能要在其中呈现的区域,该区域 >= 0。通常会告知该视图要在返回的区域中呈现,但不能保证一定如此。父级可选择重新调整视图大小或拆分视图。
- 抛出:
IllegalArgumentException
- 如果轴无效- 另请参见:
View.getPreferredSpan(int)
getMinimumSpan
public float getMinimumSpan(int axis)
- 确定此视图沿某轴的最小区域。实现它可返回由 Component.getMinimumSize 返回的沿所需轴的值。
-
- 覆盖:
-
类
View
中的getMinimumSpan
-
- 参数:
axis
- 可以是 View.X_AXIS 或 View.Y_AXIS- 返回:
- 视图可能要在其中呈现的区域,该区域 >= 0。通常会告知该视图在返回的区域中呈现,但不能保证一定如此。父级可选择重新调整视图大小或拆分视图。
- 抛出:
IllegalArgumentException
- 如果轴无效- 另请参见:
View.getPreferredSpan(int)
getMaximumSpan
public float getMaximumSpan(int axis)
- 确定此视图沿某轴的最大区域。实现它可返回由 Component.getMaximumSize 返回的沿所需轴的值。
-
- 覆盖:
-
类
View
中的getMaximumSpan
-
- 参数:
axis
- 可以是 View.X_AXIS 或 View.Y_AXIS- 返回:
- 视图可能要在其中呈现的区域,该区域 >= 0。通常会告知该视图在返回的区域中呈现,但不能保证一定如此。父级可选择重新调整视图大小或拆分视图。
- 抛出:
IllegalArgumentException
- 如果轴无效- 另请参见:
View.getPreferredSpan(int)
getAlignment
public float getAlignment(int axis)
- 确定此视图沿某轴所需的对齐方式。实现它来为嵌入组件提供对齐方式。
-
- 覆盖:
-
类
View
中的getAlignment
-
- 参数:
axis
- 可以是 View.X_AXIS 或 View.Y_AXIS- 返回:
- 需要的对齐方式。这应该是介于 0.0 和 1.0 之间的一个值,0 指示在起始位置对齐,1.0 指示在离开起始位置的整个跨距处对齐。为 0.5 表示在视图的中心对齐。