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

クラスMetalTreeUI



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

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

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

    通常、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のインスタンス
      • getHorizontalLegBuffer

        protected int getHorizontalLegBuffer​()
        クラスからコピーされた説明: BasicTreeUI
        ノード間の脚の水平要素は、デフォルトでは子ノードの左側の右で始まります。 このメソッドは、脚がそれより前で終わるようにします。
        オーバーライド:
        getHorizontalLegBuffer、クラス: BasicTreeUI
        戻り値:
        水平バッファ
      • installUI

        public void installUI​(JComponent c)
        クラスからコピーされた説明: ComponentUI
        指定されたコンポーネントをLook & Feelに応じて適切に構成します。 このメソッドは、ComponentUIインスタンスが、指定されたコンポーネントのUI委譲としてインストールされているときに呼び出されます。 このメソッドは、次を含むLook & Feel用のコンポーネントを完全に構成するべきです。
        1. カラー、フォント、ボーダー、アイコン、不透明さなどのデフォルト・プロパティ値をコンポーネントにインストールする。 可能な場合は常に、クライアント・プログラムによって初期化されたプロパティの値をオーバーライドするべきではない。
        2. 必要に応じて、コンポーネントにLayoutManagerをインストールする。
        3. 必要なサブコンポーネントを作成して、コンポーネントに追加する。
        4. イベント・リスナーを作成して、コンポーネントにインストールする。
        5. コンポーネントのプロパティの変更を適切に検出し、応答するために、PropertyChangeListenerを作成してコンポーネントにインストールする。
        6. キーボードUI (ニーモニック、トラバーサルなど)を、コンポーネントにインストールする。
        7. 適切なインスタンスのデータを初期化する。
        オーバーライド:
        installUI、クラス: BasicTreeUI
        パラメータ:
        c - UI委譲がインストールされるコンポーネント
        関連項目:
        ComponentUI.uninstallUI(javax.swing.JComponent), JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()
      • uninstallUI

        public void uninstallUI​(JComponent c)
        クラスからコピーされた説明: ComponentUI
        installUI時に、指定されたコンポーネントに対して行われた構成を取り消します。 このメソッドは、このUIComponentインスタンスが、指定されたコンポーネントのUI委譲として削除されているときに呼び出されます。 このメソッドは、installUIによって実行された構成を元に戻すべきです。この場合、JComponentインスタンスをクリーンな状態(余分なリスナーや、Look & Feel固有のプロパティ・オブジェクトが残らないように)にするよう十分注意してください。 手順には次のものが含まれるべきです。
        1. UIとして設定されたすべてのボーダーを、コンポーネントから削除する。
        2. UIとして設定されたすべてのレイアウト・マネージャを、コンポーネントから削除する。
        3. UIとして追加されたすべてのサブコンポーネントを、コンポーネントから削除する。
        4. UIとして追加されたすべてのイベント/プロパティ・リスナーを、コンポーネントから削除する。
        5. UIとしてインストールされたすべてのキーボードUIを、コンポーネントから削除する。
        6. GCの対象になるように、割り当てられたすべてのインスタンス・データ・オブジェクトをnullに設定する。
        オーバーライド:
        uninstallUI、クラス: BasicTreeUI
        パラメータ:
        c - このUI委譲が削除されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある
        関連項目:
        ComponentUI.installUI(javax.swing.JComponent), JComponent.updateUI()
      • 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の点が拡大制御されている場合。
      • paint

        public void paint​(Graphics g,
                          JComponent c)
        クラスからコピーされた説明: ComponentUI
        指定されたコンポーネントをLook & Feelに合わせてペイントします。 このメソッドは、指定されたコンポーネントがペイントされるときにComponentUI.updateメソッドから呼び出されます。 サブクラスは、このメソッドをオーバーライドして、指定されたGraphicsオブジェクトを使ってコンポーネントの内容を描画するべきです。
        オーバーライド:
        paint、クラス: BasicTreeUI
        パラメータ:
        g - ペイント対象のGraphicsコンテキスト
        c - ペイントされるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある
        関連項目:
        ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
      • paintHorizontalSeparators

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

        protected void paintVerticalPartOfLeg​(Graphics g,
                                              Rectangle clipBounds,
                                              Insets insets,
                                              TreePath path)
        クラスからコピーされた説明: BasicTreeUI
        脚の垂直部分をペイントします。 レシーバは、clipBoundsinsetsを変更しないでください。
        オーバーライド:
        paintVerticalPartOfLeg、クラス: BasicTreeUI
        パラメータ:
        g - グラフィック・スコンテキスト
        clipBounds - クリップされた矩形
        insets - insets
        path - ツリー・パス
      • paintHorizontalPartOfLeg

        protected void paintHorizontalPartOfLeg​(Graphics g,
                                                Rectangle clipBounds,
                                                Insets insets,
                                                Rectangle bounds,
                                                TreePath path,
                                                int row,
                                                boolean isExpanded,
                                                boolean hasBeenExpanded,
                                                boolean isLeaf)
        クラスからコピーされた説明: BasicTreeUI
        脚の水平部分をペイントします。 レシーバは、clipBoundsinsetsを変更しないでください。

        注: ルートが可視でない場合、parentRowは -1になることがあります。

        オーバーライド:
        paintHorizontalPartOfLeg、クラス: BasicTreeUI
        パラメータ:
        g - グラフィック・スコンテキスト
        clipBounds - クリップされた矩形
        insets - insets
        bounds - 外接する矩形
        path - ツリー・パス
        row - 行
        isExpanded - パスが展開されている場合はtrue
        hasBeenExpanded - パスが展開されている場合はtrue
        isLeaf - パスがリーフの場合はtrue