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

クラスMetalTreeUI


public class MetalTreeUI extends BasicTreeUI
TreeUIのMetal Look & Feel実装です。

MetalTreeUIがノード間の間隔と輪郭を可視的に描画する方法を構成できるようにします。 次のヒントをサポートします。

サポートされているヒント(斜線、水平線、なし)の説明
ヒント 説明
斜線 子と親を結ぶ線が描かれる。 ルート・ノードの処理については、JTree.setRootVisible(boolean)およびJTree.setShowsRootHandles(boolean)を参照。
Horizontal ルート・ノードの子を区分する水平線が描かれる
なし ノード間に視覚的な指示を与える線を描かない

通常、JTreeからTreeUIを取得してMetalTreeUIのインスタンスにキャストするのは実際的な方法ではないので、クライアント・プロパティJTree.lineStyleを使用してこのプロパティを有効にします。 たとえば、Horizontalスタイルに切り替えるには、tree.putClientProperty("JTree.lineStyle", "Horizontal");を実行します。

デフォルトはAngledです。

  • コンストラクタの詳細

    • MetalTreeUI

      public MetalTreeUI()
      MetalTreeUIを構築します。
  • メソッドの詳細

    • createUI

      public static ComponentUI createUI(JComponent x)
      MetalTreeUIを構築します。
      パラメータ:
      x - コンポーネント
      戻り値:
      MetalTreeUIのインスタンス
    • decodeLineStyle

      protected void decodeLineStyle(Object lineStyleFlag)
      クライアント・プロパティに渡された文字列と内部表現の間の変換(現在およびint)
      パラメータ:
      lineStyleFlag - フラグ
    • isLocationInExpandControl

      protected boolean isLocationInExpandControl(int row, int rowLevel, int mouseX, int mouseY)
      X座標mouseXとY座標mouseYの点が拡大制御されている場合は、trueを返します。
      パラメータ:
      row - 行
      rowLevel - 行レベル
      mouseX - X座標
      mouseY - Y座標
      戻り値:
      true X座標がmouseXで、Y座標がmouseYの点が拡大制御されている場合。
    • paintHorizontalSeparators

      protected void paintHorizontalSeparators(Graphics g, JComponent c)
      水平の区切り線をペイントします。
      パラメータ:
      g - Graphicsのインスタンス
      c - コンポーネント