JavaTM 2 Platform
Std. Ed. v1.3

javax.swing.text
クラス BoxView

java.lang.Object
  |
  +--javax.swing.text.View
        |
        +--javax.swing.text.CompositeView
              |
              +--javax.swing.text.BoxView
すべての実装インタフェース:
SwingConstants
直系の既知のサブクラス:
BlockView, FlowView, TableView, TableView.TableCell, TableView.TableRow, WrappedPlainView, ZoneView

public class BoxView
extends CompositeView

ビューは、ビューの子を軸に沿ってタイリングすることで、ひとつのボックスの形状に配置します。このボックスは、子の配列をするところでは子の柔軟性も考慮されるという点で、TeX に用意されているボックスと似ています。したがって、行、段落、リスト項目、列、ページなどのコレクションを表示するのに便利な基本単位と考えられています。


クラス javax.swing.text.View から継承したフィールド
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
 
インタフェース javax.swing.SwingConstants から継承したフィールド
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NORTH, NORTH_EAST, NORTH_WEST, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
コンストラクタの概要
BoxView(Element elem, int axis)
          BoxView を構築します。
 
メソッドの概要
protected  void baselineLayout(int targetSpan, int axis, int[] offsets, int[] spans)
           
protected  SizeRequirements baselineRequirements(int axis, SizeRequirements r)
           
protected  SizeRequirements calculateMajorAxisRequirements(int axis, SizeRequirements r)
           
protected  SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
           
protected  void childAllocation(int index, Rectangle alloc)
          子ビューに領域を割り当てます。
protected  boolean flipEastAndWestAtEnds(int position, Position.Bias bias)
          サブクラスでは、位置に基づく条件を満たす場合に true を返すように、このメソッドをオーバーライドできます。
protected  void forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory f)
          指定された DocumentEvent をそのモデルへの変更の通知が必要な子ビューに転送します。
 float getAlignment(int axis)
          ビューの望ましい配置を、軸に沿って決定します。
 int getAxis()
          軸プロパティを取り出します。
 Shape getChildAllocation(int index, Shape a)
          指定された子ビューへの割り当てを取り出します。
 int getHeight()
          ボックスの現在の高さです。
 float getMaximumSpan(int axis)
          このビューの最大スパンを軸に沿って指定します。
 float getMinimumSpan(int axis)
          このビューの最小スパンを軸に沿って指定します。
protected  int getOffset(int axis, int childIndex)
          特定の子について、現在のレイアウトのオフセットを取り出します。
 float getPreferredSpan(int axis)
          このビューに適切なスパンを軸に沿って指定します。
 int getResizeWeight(int axis)
          サイズ変更のウェイトを返します。
protected  int getSpan(int axis, int childIndex)
          特定の子について、現在のレイアウトのスパンを取り出します。
protected  View getViewAtPoint(int x, int y, Rectangle alloc)
          指定された点の子ビューを取り出します。
 int getWidth()
          ボックスの現在の幅です。
protected  boolean isAfter(int x, int y, Rectangle innerAlloc)
          ある点が、割り当てられた領域の後にあるかどうかを判定します。
protected  boolean isAllocationValid()
          子への割り当てが現在も有効かどうかを判定します。
protected  boolean isBefore(int x, int y, Rectangle innerAlloc)
          ある点が、割り当てられた領域の前にあるかどうかを判定します。
protected  void layout(int width, int height)
          子のレイアウトを実行します。
 void layoutChanged(int axis)
          軸に沿ったレイアウトを無効にします。
protected  void layoutMajorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
          ボックスの主軸 (つまり、それが表す軸) のレイアウトを実行します。
protected  void layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
          ボックスの副軸 (つまり、それが表す軸に直角の軸) のレイアウトを実行します。
 Shape modelToView(int pos, Shape a, Position.Bias b)
          ドキュメントモデルの座標空間から、それにマップされるビューの座標空間へのマッピングを提供します。
 void paint(Graphics g, Shape allocation)
          指定された描画表面およびその表面上の領域を使って描画します。
protected  void paintChild(Graphics g, Rectangle alloc, int index)
          子を描画します。
 void preferenceChanged(View child, boolean width, boolean height)
          子に呼び出され、そのスパンの設定が変更されたことを示します。
 void replace(int index, int length, View[] elems)
          レイアウトを無効にして、要求または割り当てのキャッシュのサイズを変更します。
 void setAxis(int axis)
          軸プロパティを設定します。
 void setSize(float width, float height)
          ビューのサイズを設定します。
 int viewToModel(float x, float y, Shape a, Position.Bias[] bias)
          ビューの座標空間からモデルの論理座標空間へのマッピングを提供します。
 
クラス javax.swing.text.CompositeView から継承したメソッド
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, getViewIndexAtPosition, loadChildren, modelToView, setInsets, setParagraphInsets, setParent
 
クラス javax.swing.text.View から継承したメソッド
append, breakView, changedUpdate, createFragment, forwardUpdateToView, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getViewFactory, insert, insertUpdate, isVisible, modelToView, remove, removeAll, removeUpdate, updateChildren, updateLayout, viewToModel
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

BoxView

public BoxView(Element elem,
               int axis)
BoxView を構築します。
パラメータ:
elem - このビューが扱う要素
axis - View.X_AXIS または View.Y_AXIS
メソッドの詳細

getAxis

public int getAxis()
軸プロパティを取り出します。
戻り値:
ボックスの主要な軸。View.X_AXIS または View.Y_AXIS

setAxis

public void setAxis(int axis)
軸プロパティを設定します。
パラメータ:
axis - View.X_AXIS または View.Y_AXIS

layoutChanged

public void layoutChanged(int axis)
軸に沿ったレイアウトを無効にします。レイアウトの子のビューの推奨設定が変更されていると、自動的に無効になります。推奨設定が変更されていないときに再計算する必要がある場合もあります。このメソッドを呼び出せば、レイアウトを無効としてマークできます。一般に描画の場合、レイアウトは setSize が次回このビューに呼び出されたときに更新されます。
パラメータ:
axis - View.X_AXIS または View.Y_AXIS

paintChild

protected void paintChild(Graphics g,
                          Rectangle alloc,
                          int index)
子を描画します。デフォルトの機能はそれだけですが、サブクラスはこれを使って、子に関連するものを描画できます。
パラメータ:
g - グラフィックスコンテキスト
alloc - ペイントのために割り当てられた領域
index - 子のインデックス >= 0 && < getViewCount()

replace

public void replace(int index,
                    int length,
                    View[] elems)
レイアウトを無効にして、要求または割り当てのキャッシュのサイズを変更します。子の割り当ては、まだ以前のレイアウトにアクセスできますが、新しい子の座標とスパンは 0 になります。
オーバーライド:
クラス CompositeView 内の replace
パラメータ:
index - 新規ビューを挿入するための、子ビューの開始インデックス。この値は 0 以上で、getViewCount 以下
length - 削除する現在の子ビューの数。この値は 0 以上で、(getViewCount() - offset) 以下
views - 追加する子ビュー。追加する子 (削除しやすい) がないことを示す場合は、null の可能性もある

forwardUpdate

protected void forwardUpdate(DocumentEvent.ElementChange ec,
                             DocumentEvent e,
                             Shape a,
                             ViewFactory f)
指定された DocumentEvent をそのモデルへの変更の通知が必要な子ビューに転送します。先頭の子のボックスの部分をボックスの最後に転送する前に、子がその要件を変更しており、割り当てが有効であった場合、再ペイントされます。
オーバーライド:
クラス View 内の forwardUpdate
パラメータ:
ec - このビューが扱う要素への変更。変更がない場合は null の可能性がある
e - 関連するドキュメントからの変更情報
a - ビューの現在の割り当て
f - ビューが子を持つ場合に再構築に使用するファクトリ
関連項目:
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory), View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory), View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

preferenceChanged

public void preferenceChanged(View child,
                              boolean width,
                              boolean height)
子に呼び出され、そのスパンの設定が変更されたことを示します。次回に子の割り当てが必要なときに新しく計算が実行されるように、キャッシュされたレイアウト情報を捨てるために実装されています。
オーバーライド:
クラス View 内の preferenceChanged
パラメータ:
child - 子ビュー
width - 幅の設定が変更された場合に true
height - 高さの設定が変更された場合に true

getResizeWeight

public int getResizeWeight(int axis)
サイズ変更のウェイトを返します。値が 0 または負の数の場合、サイズ変更はできません。
オーバーライド:
クラス View 内の getResizeWeight
パラメータ:
axis - View.X_AXIS または View.Y_AXIS
戻り値:
ウェイト
例外:
IllegalArgumentException - 軸が無効な場合

setSize

public void setSize(float width,
                    float height)
ビューのサイズを設定します。サイズが変更された場合、レイアウトが再び行われます。サイズは、インセット領域を含むビューのフルサイズです。
オーバーライド:
クラス View 内の setSize
パラメータ:
width - 幅 >= 0
height - 高さ >= 0

paint

public void paint(Graphics g,
                  Shape allocation)
指定された描画表面およびその表面上の領域を使って描画します。指定された Graphics のクリップ境界を交差する子だけが描画されます。
オーバーライド:
クラス View 内の paint
パラメータ:
g - 使用する描画表面
allocation - 描画のために割り当てられた領域
関連項目:
View.paint(java.awt.Graphics, java.awt.Shape)

getChildAllocation

public Shape getChildAllocation(int index,
                                Shape a)
指定された子ビューへの割り当てを取り出します。さまさまなビューの配置を探すことができます。レイアウトが無効な場合は null を返すために実装し、そうでない場合はスーパークラスが実行されます。
オーバーライド:
クラス CompositeView 内の getChildAllocation
パラメータ:
index - 子のインデックス >= 0 && < getViewCount()
a - このビューに対する割り当て
戻り値:
子に対する割り当て

modelToView

public Shape modelToView(int pos,
                         Shape a,
                         Position.Bias b)
                  throws BadLocationException
ドキュメントモデルの座標空間から、それにマップされるビューの座標空間へのマッピングを提供します。スーパークラスに機能を実行させる前に、割り当てが有効であることを確認できます。
オーバーライド:
クラス CompositeView 内の modelToView
パラメータ:
pos - 変換対象の位置 >= 0
a - 描画のために割り当てられた領域
戻り値:
指定された位置のバウンディングボックス
例外:
BadLocationException - 指定された位置が、関連したドキュメント内の有効な位置を表さない場合
関連項目:
View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)

viewToModel

public int viewToModel(float x,
                       float y,
                       Shape a,
                       Position.Bias[] bias)
ビューの座標空間からモデルの論理座標空間へのマッピングを提供します。
オーバーライド:
クラス CompositeView 内の viewToModel
パラメータ:
x - 変換するビュー位置の x 座標 >= 0
y - 変換するビュー位置の y 座標 >= 0
a - 描画のために割り当てられた領域
戻り値:
ビュー内の指定された点をもっともよく表すモデル内の位置 >= 0
関連項目:
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])

getAlignment

public float getAlignment(int axis)
ビューの望ましい配置を、軸に沿って決定します。この実装が提供するのは、タイルされた軸と直交する軸に並べられた整列位置に沿って子を配置するために必要な、全体的な整列です。タイルされた軸は、中央揃え、すなわち 0.5f にする必要があります。
オーバーライド:
クラス View 内の getAlignment
パラメータ:
axis - View.X_AXIS または View.Y_AXIS
戻り値:
望ましい配置 >= 0.0f && <= 1.0f。値の範囲は 0.0 〜 1.0 で、0 は起点への配置、1.0 は起点から最大に離れた配置を表す。0.5 は、ビューの中央への配置になる
例外:
IllegalArgumentException - 軸が無効な場合

getPreferredSpan

public float getPreferredSpan(int axis)
このビューに適切なスパンを軸に沿って指定します。
オーバーライド:
クラス View 内の getPreferredSpan
パラメータ:
axis - View.X_AXIS または View.Y_AXIS
戻り値:
ビューの描画対象のスパン >= 0。通常、ビューは返されたスパン内に描画されることになるが、保証はない。親はビューのサイズ変更や分割を行う可能性がある
例外:
IllegalArgumentException - 軸が無効な型

getMinimumSpan

public float getMinimumSpan(int axis)
このビューの最小スパンを軸に沿って指定します。
オーバーライド:
クラス View 内の getMinimumSpan
パラメータ:
axis - View.X_AXIS または View.Y_AXIS
戻り値:
ビューの描画対象のスパン >= 0。通常、ビューは返されたスパン内に描画されることになるが、保証はない。親はビューのサイズ変更や分割を行う可能性がある
例外:
IllegalArgumentException - 軸が無効な型

getMaximumSpan

public float getMaximumSpan(int axis)
このビューの最大スパンを軸に沿って指定します。
オーバーライド:
クラス View 内の getMaximumSpan
パラメータ:
axis - View.X_AXIS または View.Y_AXIS
戻り値:
ビューの描画対象のスパン >= 0。通常、ビューは返されたスパン内に描画されることになるが、保証はない。親はビューのサイズ変更や分割を行う可能性がある
例外:
IllegalArgumentException - 軸が無効な型

isAllocationValid

protected boolean isAllocationValid()
子への割り当てが現在も有効かどうかを判定します。
戻り値:
割り当てが現在も有効な場合は true

isBefore

protected boolean isBefore(int x,
                           int y,
                           Rectangle innerAlloc)
ある点が、割り当てられた領域の前にあるかどうかを判定します。
オーバーライド:
クラス CompositeView 内の isBefore
パラメータ:
x - X 座標 >= 0
y - Y 座標 >= 0
innerAlloc - 割り当てられた領域。インセットの内側の領域
戻り値:
点が領域の前にある場合は true、そうでない場合は false

isAfter

protected boolean isAfter(int x,
                          int y,
                          Rectangle innerAlloc)
ある点が、割り当てられた領域の後にあるかどうかを判定します。
オーバーライド:
クラス CompositeView 内の isAfter
パラメータ:
x - X 座標 >= 0
y - Y 座標 >= 0
innerAlloc - 割り当てられた領域。インセットの内側の領域
戻り値:
点が領域の後にある場合は true、そうでない場合は false

getViewAtPoint

protected View getViewAtPoint(int x,
                              int y,
                              Rectangle alloc)
指定された点の子ビューを取り出します。
オーバーライド:
クラス CompositeView 内の getViewAtPoint
パラメータ:
x - X 座標 >= 0
y - Y 座標 >= 0
alloc - 入口では親の内部割り当て。出口で子の割り当てに変更
戻り値:
ビュー

childAllocation

protected void childAllocation(int index,
                               Rectangle alloc)
子ビューに領域を割り当てます。
オーバーライド:
クラス CompositeView 内の childAllocation
パラメータ:
index - 割り当てる子ビューのインデックス >= 0 && < getViewCount()
alloc - 割り当てられる領域

layout

protected void layout(int width,
                      int height)
子のレイアウトを実行します。サイズは、インセット内部の領域です。このメソッドは、必要に応じて layoutMajorAxis および layoutMinorAxis を呼び出します。レイアウトの方法を変更するには、これらのメソッドを実装してください。
パラメータ:
width - 幅 >= 0
height - 高さ >= 0

getWidth

public int getWidth()
ボックスの現在の幅です。ボックスに割り当てられた最新の幅です。

getHeight

public int getHeight()
ボックスの現在の高さです。ボックスに割り当てられた最新の高さです。

layoutMajorAxis

protected void layoutMajorAxis(int targetSpan,
                               int axis,
                               int[] offsets,
                               int[] spans)
ボックスの主軸 (つまり、それが表す軸) のレイアウトを実行します。レイアウトの結果は、主軸に沿った子への割り当てを表す指定された配列に配置されなければなりません。
パラメータ:
targetSpan - ビューに指定されたトータルスパン。子をレイアウトするために使用される
axis - レイアウトされる軸
offsets - 各子ビューのビューの起点からの座標。これは戻り値であり、このメソッドの実装によって割り当てられる
spans - 各子ビューのスパン。これは戻り値であり、このメソッドの実装によって割り当てられる
戻り値:
offsets パラメータには各子ビューのオフセット、spans パラメータには各子ビューのスパン

layoutMinorAxis

protected void layoutMinorAxis(int targetSpan,
                               int axis,
                               int[] offsets,
                               int[] spans)
ボックスの副軸 (つまり、それが表す軸に直角の軸) のレイアウトを実行します。レイアウトの結果は、副軸に沿った子への割り当てを表す配列に配置されなければなりません。
パラメータ:
targetSpan - ビューに指定されたトータルスパン。子をレイアウトするために使用される
axis - レイアウトされる軸
offsets - 各子ビューのビューの起点からのオフセット。これは戻り値であり、このメソッドの実装によって割り当てられる
spans - 各子ビューのスパン。これは戻り値であり、このメソッドの実装によって割り当てられる
戻り値:
offsets パラメータには各子ビューのオフセット、spans パラメータには各子ビューのスパン

calculateMajorAxisRequirements

protected SizeRequirements calculateMajorAxisRequirements(int axis,
                                                          SizeRequirements r)

calculateMinorAxisRequirements

protected SizeRequirements calculateMinorAxisRequirements(int axis,
                                                          SizeRequirements r)

baselineLayout

protected void baselineLayout(int targetSpan,
                              int axis,
                              int[] offsets,
                              int[] spans)

baselineRequirements

protected SizeRequirements baselineRequirements(int axis,
                                                SizeRequirements r)

getOffset

protected int getOffset(int axis,
                        int childIndex)
特定の子について、現在のレイアウトのオフセットを取り出します。

getSpan

protected int getSpan(int axis,
                      int childIndex)
特定の子について、現在のレイアウトのスパンを取り出します。

flipEastAndWestAtEnds

protected boolean flipEastAndWestAtEnds(int position,
                                        Position.Bias bias)
クラス CompositeView の記述:
サブクラスでは、位置に基づく条件を満たす場合に true を返すように、このメソッドをオーバーライドできます。戻り値の true は、ビューが getNextVisualPositionFrom メソッドで -1 を返した場合に、右側 (east) の次のビューが現在のインデックスに対してオフセットが -1 となり、左側 (west) の次のビューがオフセット 1 になることを示します。通常の方向では、右 (east) のオフセットが 1、左 (west) のオフセットが -1 です (左から右に記述するテキストの場合)。
オーバーライド:
クラス CompositeView 内の flipEastAndWestAtEnds
クラス javax.swing.text.CompositeView からコピーされたタグ:
戻り値:
false

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.