所有类


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)
          提供从视图坐标空间到模型逻辑坐标空间的映射。
 
从类 javax.swing.text.View 继承的方法
append, breakView, changedUpdate, createFragment, forwardUpdate, forwardUpdateToView, getAttributes, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getEndOffset, getGraphics, getNextVisualPositionFrom, getParent, getResizeWeight, getStartOffset, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, insertUpdate, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, removeUpdate, replace, setSize, updateChildren, updateLayout, viewToModel
 
从类 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)
真正的绘制行为自然来源于组件与其父容器(容纳此视图的同一容器)之间的关联。实现它不进行任何操作。

指定者:
View 中的 paint
参数:
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 表示在视图的中心对齐。

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部