モジュール java.desktop
パッケージ javax.swing.text

クラスParagraphView

すべての実装されたインタフェース:
SwingConstants, TabExpander
直系の既知のサブクラス:
ParagraphView

public class ParagraphView extends FlowView implements TabExpander
複数のフォント、色、コンポーネント、アイコンなどをサポートする単純な行折返し段落のビューです。これは基本的に、周囲にマージンがある垂直ボックスです。 ボックスのコンテンツは、特殊な水平ボックスである行の集まりです。 このビューは、段落要素の子要素を表すビューのコレクションを作成します。 こうした各ビューは、ビューが1行に収まる場合には行に直接配置され、そうでない場合にはbreakViewメソッドが呼び出されて各行に分割して収めるように試みられます。
関連項目:
  • フィールド詳細

    • firstLineIndent

      protected int firstLineIndent
      左側からのインセットによる先頭行のインデントです。
  • コンストラクタの詳細

    • ParagraphView

      public ParagraphView(Element elem)
      指定された要素のParagraphViewを構築します。
      パラメータ:
      elem - このビューが扱う要素
  • メソッドの詳細

    • setJustification

      protected void setJustification(int j)
      位置揃えの形式を設定します。
      パラメータ:
      j - 次の値のいずれか。
      • StyleConstants.ALIGN_LEFT
      • StyleConstants.ALIGN_CENTER
      • StyleConstants.ALIGN_RIGHT
    • setLineSpacing

      protected void setLineSpacing(float ls)
      行間隔を設定します。
      パラメータ:
      ls - 値は行の高さの係数
    • setFirstLineIndent

      protected void setFirstLineIndent(float fi)
      先頭行のインデントを設定します。
      パラメータ:
      fi - ポイント単位の値
    • setPropertiesFromAttributes

      protected void setPropertiesFromAttributes()
      属性から、キャッシュに書き込まれるプロパティを設定します。
    • getLayoutViewCount

      protected int getLayoutViewCount()
      このビューが扱うビューの数を返します。 段落の子ビューは、子要素を表すViewの各部分を配列するために使用されたいくつかの行です。 これは、2次元に並べられたビューの数で、このビューが扱う要素の子要素の数に等しくなります。
      戻り値:
      このParagraphViewが扱うビューの数
    • getLayoutView

      protected View getLayoutView(int index)
      指定されたindexのビューを返します。 段落の子ビューは、子要素を表すViewsの各部分を配列するために使用されたいくつかの行です。 このメソッドは、子要素インデックスを扱うビューを(分割前に)返します。 これらは、ファクトリから(子要素を表すために)作成され、レイアウトに使用されるビューです。
      パラメータ:
      index - 要求するビューのindex
      戻り値:
      indexのビュー
    • getNextNorthSouthVisualPositionFrom

      protected int getNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException
      カーソルを置くことのできる、次の視覚的な位置を返します。方向は右(east)または左(west)になります。 CompositeViewからオーバーライドされます。
      オーバーライド:
      getNextNorthSouthVisualPositionFrom、クラスCompositeView
      パラメータ:
      pos - モデルへの位置
      b - Position.Bias.ForwardまたはPosition.Bias.Backward
      a - 描画するために割り当てられた領域
      direction - SwingConstants.NORTHまたはSwingConstants.SOUTH
      biasRet - このメソッドで確認されるバイアスを持つ配列
      戻り値:
      次の可視の位置を表すモデル内の位置
      例外:
      BadLocationException - ドキュメント・モデル内の不適切なロケーション
      関連項目:
    • getClosestPositionTo

      protected int getClosestPositionTo(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet, int rowIndex, int x) throws BadLocationException
      xにもっとも近接したモデル内の位置を返します。rowIndexは、検索対象のビューのインデックスを指定します。
      パラメータ:
      pos - モデルへの位置
      b - バイアス
      a - 描画するために割り当てられた領域
      direction - 次の値のいずれか。
      • SwingConstants.NORTH
      • SwingConstants.SOUTH
      biasRet - このメソッドで確認されるバイアスを持つ配列
      rowIndex - ビューのインデックス
      x - 対象となるx座標
      戻り値:
      xにもっとも近いモデル位置
      例外:
      BadLocationException - 悪いロケーションに遭遇した場合
    • flipEastAndWestAtEnds

      protected boolean flipEastAndWestAtEnds(int position, Position.Bias bias)
      次のビューをどの方向に配置するかを決定します。 インデックスnのViewが考慮されます。 通常、Viewは左から右にレイアウトされるため、EASTへのViewは索引n + 1になり、WESTへのViewは索引n - 1になります。 双方向テキストなど一部の場合では、EASTへのViewをインデックスn+1ではなくインデックスn -1に、またはWESTへのViewをインデックスn - 1ではなくインデックスn+1にすることもできます。 この場合、このメソッドはtrueを返し、Viewが降順にレイアウトされていることを示します。

      テキストの位置を右から左に配置する場合はtrueを返し、それ以外の場合はfalseを返します。

      オーバーライド:
      flipEastAndWestAtEnds、クラスBoxView
      パラメータ:
      position - モデルへの位置
      bias - Position.Bias.ForwardまたはPosition.Bias.Backward
      戻り値:
      テキストの位置を右から左に配置する場合はtrue、それ以外の場合はfalse。
    • getFlowSpan

      public int getFlowSpan(int index)
      指定された子のインデックスに反してフローする制約スパンを取得します。
      オーバーライド:
      getFlowSpan、クラスFlowView
      パラメータ:
      index - 照会されるビューのインデックス
      戻り値:
      indexで指定されたビューの制約スパン
      導入されたバージョン:
      1.3
      関連項目:
    • getFlowStart

      public int getFlowStart(int index)
      フロー・スパンを開始する、フロー軸に沿った位置を取得します。
      オーバーライド:
      getFlowStart、クラスFlowView
      パラメータ:
      index - 照会されるビューのインデックス
      戻り値:
      indexで指定されたビューの位置
      導入されたバージョン:
      1.3
      関連項目:
    • createRow

      protected View createRow()
      フローの子に相当する行を保持するために使用するViewを作成します。
      定義:
      createRow、クラスFlowView
      戻り値:
      新しいView
      導入されたバージョン:
      1.3
    • nextTabStop

      public float nextTabStop(float x, int tabOffset)
      指定された参照位置より後ろの次のタブストップ位置を返します。 このビューはタブ座標系を実装して、配置プロセスで論理子ビューでgetTabbedSpanを呼び出して子ビューの望ましいスパンを決定します。 論理子ビューは、タブの展開方法を認識している段落に対してそのタブ展開を委譲します。 そのタブ展開の必要性を段落に委譲するビューには、LabelViewなどがあります。

      このメソッドを実装すると、段落要素の属性セットでTabSetを見つけようとします。 1つ見つかるとその設定が使われ、それ以外の場合にはデフォルトの展開が提供されます。 タブ展開のベース・ロケーションは、最も最近の割り当て(子たちのレイアウトはこれに基づいています)の段落の左側の挿入図です。

      定義:
      nextTabStop、インタフェースTabExpander
      パラメータ:
      x - X参照位置
      tabOffset - タブが発生するテキスト・ストリーム内の位置>= 0
      戻り値:
      タブ展開の後続末尾>= 0
      関連項目:
    • getTabSet

      protected TabSet getTabSet()
      タブの計算で使うTabsetを取得します。
      戻り値:
      TabSet
    • getPartialSize

      protected float getPartialSize(int startOffset, int endOffset)
      startOffsetendOffsetの間のビューが使うサイズを返します。 子ビューがTabableViewインタフェースを実装する場合に、これはgetPartialViewを使ってサイズを計算します。 サイズが必要で、ViewTabableViewインタフェースを実装しない場合は、preferredSpanが使われます。
      パラメータ:
      startOffset - ドキュメントの開始オフセット>= 0
      endOffset - ドキュメントの終了オフセット>= startOffset
      戻り値:
      サイズ>= 0
    • findOffsetToCharactersInString

      protected int findOffsetToCharactersInString(char[] string, int start)
      ドキュメント内の次の文字をstring内の任意の文字を使って検索します。検索はオフセットstartから開始します。 どの文字も見つからない場合は、-1が返されます。
      パラメータ:
      string - 文字列
      start - モデル内の開始位置>= 0
      戻り値:
      ドキュメント・オフセット、または文字が見つからない場合は -1
    • getTabBase

      protected float getTabBase()
      タブ計算の開始位置を返します。
      戻り値:
      タブ計算の開始位置
    • paint

      public void paint(Graphics g, Shape a)
      指定されたレンダリング表面およびその表面上の領域を使ってレンダリングします。 このメソッドを実装すると、タブ計算のベース座標を保管した後にスーパー・クラスに委譲できます。
      オーバーライド:
      paint、クラスBoxView
      パラメータ:
      g - 使用する描画表面
      a - 描画するために割り当てられた領域
      関連項目:
    • getAlignment

      public float getAlignment(int axis)
      軸に沿ったこのビューの望ましいレイアウトを決定します。 このメソッドを実装すると、y軸に沿っては先頭行の中央に配置し、x軸に沿ってはデフォルトの配置を実行できます。
      オーバーライド:
      getAlignment、クラスBoxView
      パラメータ:
      axis - View.X_AXISまたはView.Y_AXIS
      戻り値:
      望ましい配置。 この値の範囲は0.0から1.0で、0は起点への配置、1.0は起点から最大に離れた配置を表す。 0.5は、ビューの中央への配置になります。
    • breakView

      public View breakView(int axis, float len, Shape a)
      指定された軸および指定された長さでこのビューを分割します。

      ParagraphViewインスタンスは、lenが最初の行より後ろにある場合にのみ、Y_AXISだけに沿って分割可能です。

      パラメータ:
      axis - View.X_AXISまたはView.Y_AXIS
      len - 指定された軸に沿って分割する位置>= 0
      a - ビューの現在の割当て
      戻り値:
      指定されたスパンを表すビューのフラグメント。ビューが分割動作をサポートしていない場合は、ビュー自体が返される
      関連項目:
    • getBreakWeight

      public int getBreakWeight(int axis, float len)
      指定された位置のブレーク・ウエイトを取得します。

      ParagraphViewインスタンスは、lenが最初の列より後ろにある場合にのみ、Y_AXISだけに沿って分割可能です。 長さが1列より短い場合、BadBreakWeightの値が返されます。

      パラメータ:
      axis - View.X_AXISまたはView.Y_AXIS
      len - 分割する位置>= 0
      戻り値:
      ここで分割する効果を示す値。GoodBreakWeightまたはBadBreakWeightのどれか
      関連項目:
    • calculateMinorAxisRequirements

      protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
      短軸方向に沿った段落に対する必要量を計算します。

      これはスーパー・クラスのサイズ要件を使用し、隣接するビューの輪郭の分割できない領域を考慮して変更します。 それらのビューについての最小のサイズ要件は、隣接フラグメントの合計以上にする必要があります。

      axisパラメータがView.X_AXISでもView.Y_AXISでもない場合、IllegalArgumentExceptionがスローされます。 rパラメータがnullの場合、新規SizeRequirementsオブジェクトが作成され、それ以外の場合は指定されたSizeRequirementsオブジェクトが返されます。

      オーバーライド:
      calculateMinorAxisRequirements、クラスFlowView
      パラメータ:
      axis - 副軸
      r - 入力SizeRequirementsオブジェクト
      戻り値:
      新規または調整されたSizeRequirementsオブジェクト
      例外:
      IllegalArgumentException - axisパラメータが無効の場合
      関連項目:
    • changedUpdate

      public void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
      このビューが扱う位置で属性が変更されたことをドキュメントから通知します。
      オーバーライド:
      changedUpdate、クラスFlowView
      パラメータ:
      changes - 関連するドキュメントからの変更情報
      a - ビューの現在の割当て
      f - ビューが子を持つ場合に再構築に使用するファクトリ
      関連項目: