モジュール 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 - コンポーネント