JavaTM Platform
Standard Ed. 6

javax.swing.text.html
类 BlockView

java.lang.Object
  继承者 javax.swing.text.View
      继承者 javax.swing.text.CompositeView
          继承者 javax.swing.text.BoxView
              继承者 javax.swing.text.html.BlockView
所有已实现的接口:
SwingConstants
直接已知子类:
ListView

public class BlockView
extends BoxView

用来显示具有 CSS 规范的块(作为一个框)的视图实现。


字段摘要
 
从类 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
 
构造方法摘要
BlockView(Element elem, int axis)
          创建表示 html 框的新视图。
 
方法摘要
protected  SizeRequirements calculateMajorAxisRequirements(int axis, SizeRequirements r)
          计算块沿主轴的要求(即沿其平铺的轴)。
protected  SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
          计算块沿辅轴的要求(即垂直沿其平铺的轴的轴)。
 void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
          发出通知,通知文档此视图负责的位置处的属性已更改。
 float getAlignment(int axis)
          获取对齐方式。
 AttributeSet getAttributes()
          获取呈现时要使用的属性。
 float getMaximumSpan(int axis)
          确定此视图沿某轴的最大区域。
 float getMinimumSpan(int axis)
          确定此视图沿某个轴的最小区域。
 float getPreferredSpan(int axis)
          确定此视图沿某个轴的首选区域。
 int getResizeWeight(int axis)
          获取调整的权重。
protected  StyleSheet getStyleSheet()
           
protected  void layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
          执行对框的辅轴(即与它所代表的轴垂直的轴)的布局。
 void paint(Graphics g, Shape allocation)
          使用给定呈现面和该表面的区域呈现。
 void setParent(View parent)
          建立此视图的父视图。
protected  void setPropertiesFromAttributes()
          更新来自属性的任何缓存的值。
 
从类 javax.swing.text.BoxView 继承的方法
baselineLayout, baselineRequirements, childAllocation, flipEastAndWestAtEnds, forwardUpdate, getAxis, getChildAllocation, getHeight, getOffset, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layout, layoutChanged, layoutMajorAxis, modelToView, paintChild, preferenceChanged, replace, setAxis, setSize, viewToModel
 
从类 javax.swing.text.CompositeView 继承的方法
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, getViewIndexAtPosition, loadChildren, modelToView, setInsets, setParagraphInsets
 
从类 javax.swing.text.View 继承的方法
append, breakView, createFragment, forwardUpdateToView, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, insertUpdate, isVisible, modelToView, remove, removeAll, removeUpdate, updateChildren, updateLayout, viewToModel
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

BlockView

public BlockView(Element elem,
                 int axis)
创建表示 html 框的新视图。此操作可用于许多元素。

参数:
elem - 用来创建视图的元素
axis - 要么是 View.X_AXIS,要么是 View.Y_AXIS
方法详细信息

setParent

public void setParent(View parent)
建立此视图的父视图。如果父视图的功能正确,在调用任何其他方法之前要确保调用此方法。

实现此方法的目的是为了转发到超类,以及调用 setPropertiesFromAttributes() 方法来设置 css 属性中的段落属性。此时进行调用可确保能够通过父视图属性向上进行解析。

覆盖:
CompositeView 中的 setParent
参数:
parent - 新父级,如果该视图正从其以前添加到的父视图中移除,则返回 null

calculateMajorAxisRequirements

protected SizeRequirements calculateMajorAxisRequirements(int axis,
                                                          SizeRequirements r)
计算块沿主轴的要求(即沿其平铺的轴)。如果指定了 CSS 的宽度或高度属性并应用于该轴,则实现此方法是为了提供超类行为,然后对其调整。

覆盖:
BoxView 中的 calculateMajorAxisRequirements
参数:
axis - 所考察的轴
r - SizeRequirements 对象;如果为 null,将创建一个对象
返回:
新初始化的 SizeRequirements 对象
另请参见:
SizeRequirements

calculateMinorAxisRequirements

protected SizeRequirements calculateMinorAxisRequirements(int axis,
                                                          SizeRequirements r)
计算块沿辅轴的要求(即垂直沿其平铺的轴的轴)。如果指定了 CSS 的宽度或高度属性并应用于该轴,则实现此方法是为了提供超类行为,然后对其调整。

覆盖:
BoxView 中的 calculateMinorAxisRequirements
参数:
axis - 所考察的轴
r - SizeRequirements 对象;如果为 null,将创建一个对象
返回:
新初始化的 SizeRequirements 对象
另请参见:
SizeRequirements

layoutMinorAxis

protected void layoutMinorAxis(int targetSpan,
                               int axis,
                               int[] offsets,
                               int[] spans)
执行对框的辅轴(即与它所代表的轴垂直的轴)的布局。布局的结果(每个子级的偏移量和区域)存储在给定的数组中,它表示沿辅轴对子级的分配。

覆盖:
BoxView 中的 layoutMinorAxis
参数:
targetSpan - 为视图分配的总区域,它应该用来布局子视图。
axis - 正在进行布局的轴
offsets - 每个子视图的视图原点的偏移量;这是一个返回值并且由此方法的实现来填充
spans - 每个子视图的区域,这是一个返回值并且由此方法的实现来填充

paint

public void paint(Graphics g,
                  Shape allocation)
使用给定呈现面和该表面的区域呈现。实现它的目的是为了把 painter 委托给 css 框,以便在进行内部绘制之前先绘制边框和背景。

覆盖:
BoxView 中的 paint
参数:
g - 要使用的呈现表面
allocation - 分配的要在其中呈现的区域
另请参见:
View.paint(java.awt.Graphics, java.awt.Shape)

getAttributes

public AttributeSet getAttributes()
获取呈现时要使用的属性。实现它的目的是为了使用 StyleSheet 多路传输模型中指定的属性。

覆盖:
View 中的 getAttributes

getResizeWeight

public int getResizeWeight(int axis)
获取调整的权重。

覆盖:
BoxView 中的 getResizeWeight
参数:
axis - 可以是 X_AXIS,也可以是 Y_AXIS
返回:
权重
抛出:
IllegalArgumentException - 如果是无效的轴

getAlignment

public float getAlignment(int axis)
获取对齐方式。

覆盖:
BoxView 中的 getAlignment
参数:
axis - 可以是 X_AXIS,也可以是 Y_AXIS
返回:
对方方式

changedUpdate

public void changedUpdate(DocumentEvent changes,
                          Shape a,
                          ViewFactory f)
从类 View 复制的描述
发出通知,通知文档此视图负责的位置处的属性已更改。为了减少子类的负担,此功能已分散到以下子类能重新实现的调用中:
  1. 如果此视图负责的元素发生任何更改,则调用 updateChildren。如果此视图有表示子元素的子视图,则此方法应当做任何必须的操作来保证子视图正确表示模型。
  2. 要转发 DocumentEvent 到合适的子视图,调用 forwardUpdate
  3. 要给视图一个机会来修复其布局、重新计划布局或者不做任何操作,调用 updateLayout

覆盖:
View 中的 changedUpdate
参数:
changes - 发自关联文档的更改信息
a - 视图的当前分配
f - 视图有子级时用于重建的工厂 View#changedUpdate

getPreferredSpan

public float getPreferredSpan(int axis)
确定此视图沿某个轴的首选区域。

覆盖:
BoxView 中的 getPreferredSpan
参数:
axis - 可以为 View.X_AXISView.Y_AXIS
返回:
视图可能要在其中呈现的区域,其值 >= 0;通常要求视图呈现在返回的区域中,尽管不一定如此;父级可选择重新调整视图大小或分解视图
抛出:
IllegalArgumentException - 如果轴类型无效
另请参见:
View.getPreferredSpan(int)

getMinimumSpan

public float getMinimumSpan(int axis)
确定此视图沿某个轴的最小区域。

覆盖:
BoxView 中的 getMinimumSpan
参数:
axis - 可以为 View.X_AXISView.Y_AXIS
返回:
视图可能要在其中呈现的区域,其值 >= 0;通常要求视图呈现在返回的区域中,尽管不一定如此;父级可选择重新调整视图大小或分解视图
抛出:
IllegalArgumentException - 如果轴类型无效
另请参见:
View.getPreferredSpan(int)

getMaximumSpan

public float getMaximumSpan(int axis)
确定此视图沿某轴的最大区域。

覆盖:
BoxView 中的 getMaximumSpan
参数:
axis - 可以为 View.X_AXISView.Y_AXIS
返回:
视图可能要在其中呈现的区域,其值 >= 0;通常要求视图呈现在返回的区域中,尽管不一定如此;父级可选择重新调整视图大小或分解视图
抛出:
IllegalArgumentException - 如果轴类型无效
另请参见:
View.getPreferredSpan(int)

setPropertiesFromAttributes

protected void setPropertiesFromAttributes()
更新来自属性的任何缓存的值。


getStyleSheet

protected StyleSheet getStyleSheet()

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策