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

クラスDefaultTreeCellRenderer

すべての実装されたインタフェース:
ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants, TreeCellRenderer

public class DefaultTreeCellRenderer extends JLabel implements TreeCellRenderer
ツリーのエントリを表示します。 DefaultTreeCellRendererは不透明ではないため、サブクラスでペイントしないかぎり、このクラスを変更しないでください。 このクラスを使ったノード表示のカスタマイズの使用例は、「The Java Tutorial」の「How to Use Trees」を参照してください。

DefaultTreeCellRendererで使用されるアイコンと色のセットは、さまざまな設定メソッドを使って設定できます。 各プロパティの値は、デフォルト・テーブルから初期化されます。 Look & Feelが変更されると(updateUIが呼び出されると)、デフォルト・テーブルからUIResource型の値を持つプロパティが更新されます。 次の表は、DefaultTreeCellRendererプロパティとデフォルト・テーブル・キーとのマッピング・リストです。

プロパティ
プロパティ キー
"leafIcon" "Tree.leafIcon"
"closedIcon" "Tree.closedIcon"
"openIcon" "Tree.openIcon"
"textSelectionColor" "Tree.selectionForeground"
"textNonSelectionColor" "Tree.textForeground"
"backgroundSelectionColor" "Tree.selectionBackground"
"backgroundNonSelectionColor" "Tree.textBackground"
"borderSelectionColor" "Tree.selectionBorderColor"

実装上のノート:このクラスは、パフォーマンス向上のみを目的として、invalidatevalidaterevalidaterepaint、およびfirePropertyChangeをオーバーライドします。 オーバーライドされない場合、呼出し頻度の高いこれらのメソッドは、デフォルトのツリー・セル・レンダリングに不要なコード・パスを実行します。 独自のレンダリング・ロジックを作成する場合は、これらのメソッドのオーバーライドでの利点や欠点に注意してください。

警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。

  • フィールド詳細

    • selected

      protected boolean selected
      現在選択されている値です。
    • hasFocus

      protected boolean hasFocus
      フォーカスがある場合はtrueです。
    • closedIcon

      protected transient Icon closedIcon
      展開されていない、葉以外のノードを表示するのに使うアイコンです。
    • leafIcon

      protected transient Icon leafIcon
      葉ノードを表示するのに使うアイコンです。
    • openIcon

      protected transient Icon openIcon
      展開されている、葉以外のノードを表示するのに使うアイコンです。
    • textSelectionColor

      protected Color textSelectionColor
      選択されているノードのフォアグラウンドに使う色です。
    • textNonSelectionColor

      protected Color textNonSelectionColor
      選択されていないノードのフォアグラウンドに使う色です。
    • backgroundSelectionColor

      protected Color backgroundSelectionColor
      ノードが選択されているときにバックグラウンドに使う色です。
    • backgroundNonSelectionColor

      protected Color backgroundNonSelectionColor
      ノードが選択されていないときにバックグラウンドに使う色です。
    • borderSelectionColor

      protected Color borderSelectionColor
      ノードにフォーカスがある場合にフォーカス・インジケータに使う色です。
  • コンストラクタの詳細

    • DefaultTreeCellRenderer

      public DefaultTreeCellRenderer()
      DefaultTreeCellRendererを作成します。 アイコンとテキスト色はUIManagerから指定されます。
  • メソッドの詳細

    • updateUI

      public void updateUI()
      現在のルック・アンド・フィールからの値にUIプロパティをリセットします。
      オーバーライド:
      updateUI、クラスJLabel
      導入されたバージョン:
      1.7
      関連項目:
    • getDefaultOpenIcon

      public Icon getDefaultOpenIcon()
      展開されている葉以外のノードを表すために使用する、現在の葉のデフォルト・アイコンを返します。
      戻り値:
      展開されるリーフ以外のノードを表すために使用される、現在のlafのデフォルト・アイコン。
    • getDefaultClosedIcon

      public Icon getDefaultClosedIcon()
      展開されていない葉以外のノードを表すために使用する、現在の葉のデフォルト・アイコンを返します。
      戻り値:
      現在のlafのデフォルト・アイコン。展開されていないリーフ以外のノードを表すために使用されます。
    • getDefaultLeafIcon

      public Icon getDefaultLeafIcon()
      葉ノードを表すために使用する、現在の葉のデフォルト・アイコンを返します。
      戻り値:
      リーフ・ノードを表すために使用される、現在のlafのデフォルト・アイコン。
    • setOpenIcon

      public void setOpenIcon(Icon newIcon)
      展開されている葉以外のノードを表すために使用するアイコンを設定します。
      パラメータ:
      newIcon - 拡張された非葉ノードに使用されるアイコン
    • getOpenIcon

      public Icon getOpenIcon()
      展開されている葉以外のノードを表すために使用するアイコンを返します。
      戻り値:
      展開されている非リーフ・ノードを表すために使用されるアイコン
    • setClosedIcon

      public void setClosedIcon(Icon newIcon)
      展開されていない葉以外のノードを表すために使用するアイコンを設定します。
      パラメータ:
      newIcon - 展開されていない非リーフ・ノードに使用されるアイコン
    • getClosedIcon

      public Icon getClosedIcon()
      展開されていない葉以外のノードを表すために使用するアイコンを返します。
      戻り値:
      展開されていない非リーフ・ノードを表すために使用されるアイコン
    • setLeafIcon

      public void setLeafIcon(Icon newIcon)
      葉ノードを表すために使用するアイコンを設定します。
      パラメータ:
      newIcon - リーフ・ノードに使用されるアイコン
    • getLeafIcon

      public Icon getLeafIcon()
      葉ノードを表すために使用するアイコンを返します。
      戻り値:
      リーフ・ノードを表すために使用されるアイコン
    • setTextSelectionColor

      public void setTextSelectionColor(Color newColor)
      ノードが選択されているときにテキストを描画する色を設定します。
      パラメータ:
      newColor - ノードが選択されたときにテキストに使用される色
    • getTextSelectionColor

      public Color getTextSelectionColor()
      ノードが選択されているときにテキストを描画する色を返します。
      戻り値:
      ノードが選択されたときにテキストが描画される色
    • setTextNonSelectionColor

      public void setTextNonSelectionColor(Color newColor)
      ノードが選択されていないときにテキストを描画する色を設定します。
      パラメータ:
      newColor - ノードが選択されていない場合にテキストに使用される色
    • getTextNonSelectionColor

      public Color getTextNonSelectionColor()
      ノードが選択されていないときにテキストを描画する色を返します。
      戻り値:
      ノードが選択されていないときにテキストが描画される色。
    • setBackgroundSelectionColor

      public void setBackgroundSelectionColor(Color newColor)
      ノードが選択されているときにバックグラウンドに使う色を設定します。
      パラメータ:
      newColor - ノードが選択されている場合、バックグラウンドで使用される
    • getBackgroundSelectionColor

      public Color getBackgroundSelectionColor()
      ノードが選択されているときにバックグラウンドに使う色を返します。
      戻り値:
      ノードが選択されている場合は、バックグラウンドに使用する色
    • setBackgroundNonSelectionColor

      public void setBackgroundNonSelectionColor(Color newColor)
      選択されていないノード用に使うバックグラウンドの色を設定します。
      パラメータ:
      newColor - 選択されていないノードのバックグラウンドに使用される色
    • getBackgroundNonSelectionColor

      public Color getBackgroundNonSelectionColor()
      選択されていないノード用に使うバックグラウンドの色を返します。
      戻り値:
      選択されていないノードに使用されるバックグラウンド色。
    • setBorderSelectionColor

      public void setBorderSelectionColor(Color newColor)
      ボーダーに使用する色を設定します。
      パラメータ:
      newColor - ボーダーに使用さえるカラー
    • getBorderSelectionColor

      public Color getBorderSelectionColor()
      ボーダーを描画する色を返します。
      戻り値:
      ボーダーが描画される色
    • setFont

      public void setFont(Font font)
      FontUIResourceをnullにマップするためにサブクラス化されます。 fontがnullまたはFontUIResourceの場合、JTreeのフォントを透けて見えるようにします。 また、fontがnull以外またはFontUIResource以外の場合、そのフォントはfontになります。
      オーバーライド:
      setFont、クラスJComponent
      パラメータ:
      font - このコンポーネントに指定するFont
      関連項目:
    • getFont

      public Font getFont()
      このコンポーネントのフォントを取得します。
      定義:
      getFont、インタフェースMenuContainer
      オーバーライド:
      getFont、クラスComponent
      戻り値:
      このコンポーネントのフォント。このコンポーネントにフォントが設定されていない場合、その親のフォントが返される
      関連項目:
    • setBackground

      public void setBackground(Color color)
      ColorUIResourceをnullにマップするためにサブクラス化されます。 colorがnullまたはColorUIResourceの場合、JTreeのバックグラウンド・カラーを透けて見えるようにします。 また、colorがnull以外またはColorUIResource以外の場合、そのバックグラウンドはcolorになります。
      オーバーライド:
      setBackground、クラスJComponent
      パラメータ:
      color - 要求するバックグラウンドColor
      関連項目:
    • getTreeCellRendererComponent

      public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus)
      コンポーネントに渡される内容に基づいてレンダラを設定します。 値は、最終的にtoStringvalueに呼び出すconvertValueToTextで、値をメッセージとして送信して設定されます。 フォアグラウンドの色は選択状態に基づいて設定され、アイコンはleafおよびexpandedパラメータに基づいて設定されます。
      定義:
      getTreeCellRendererComponent、インタフェースTreeCellRenderer
      パラメータ:
      tree - レシーバは、
      value - レンダリングする値
      sel - ノードが選択されているかどうか
      expanded - ノードが展開されているかどうか
      leaf - ノードがリード・ノードかどうか
      row - 行インデックス
      hasFocus - ノードにフォーカスがあるかどうか
      戻り値:
      レンダリングが値を描画するのに使うComponent
    • paint

      public void paint(Graphics g)
      値をペイントします。 バックグラウンドが、選択した値に基づいて塗りつぶされます。
      オーバーライド:
      paint、クラスJComponent
      パラメータ:
      g - ペイント対象のGraphicsコンテキスト
      関連項目:
    • getPreferredSize

      public Dimension getPreferredSize()
      JComponent.getPreferredSizeをオーバーライドして、多少広めの推奨サイズの値を返すようにします。
      オーバーライド:
      getPreferredSize、クラスJComponent
      戻り値:
      preferredSizeプロパティの値
      関連項目:
    • validate

      public void validate()
      パフォーマンス上の理由でオーバーライドされます。 詳細は「実装上のノート」を参照してください。
      オーバーライド:
      validate、クラスContainer
      関連項目:
    • invalidate

      public void invalidate()
      パフォーマンス上の理由でオーバーライドされます。 詳細は「実装上のノート」を参照してください。
      オーバーライド:
      invalidate、クラスContainer
      導入されたバージョン:
      1.5
      関連項目:
    • revalidate

      public void revalidate()
      パフォーマンス上の理由でオーバーライドされます。 詳細は「実装上のノート」を参照してください。
      オーバーライド:
      revalidate、クラスJComponent
      関連項目:
    • repaint

      public void repaint(long tm, int x, int y, int width, int height)
      パフォーマンス上の理由でオーバーライドされます。 詳細は「実装上のノート」を参照してください。
      オーバーライド:
      repaint、クラスJComponent
      パラメータ:
      tm - このパラメータは使用されない
      x - ダーティ・リージョンのx座標
      y - ダーティ・リージョンのy座標
      width - ダーティ・リージョンの幅
      height - ダーティ・リージョンの高さ
      関連項目:
    • repaint

      public void repaint(Rectangle r)
      パフォーマンス上の理由でオーバーライドされます。 詳細は「実装上のノート」を参照してください。
      オーバーライド:
      repaint、クラスJComponent
      パラメータ:
      r - ダーティ・リージョンを含むRectangle
      関連項目:
    • repaint

      public void repaint()
      パフォーマンス上の理由でオーバーライドされます。 詳細は「実装上のノート」を参照してください。
      オーバーライド:
      repaint、クラスComponent
      導入されたバージョン:
      1.5
      関連項目:
    • firePropertyChange

      protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
      パフォーマンス上の理由でオーバーライドされます。 詳細は「実装上のノート」を参照してください。
      オーバーライド:
      firePropertyChange、クラスComponent
      パラメータ:
      propertyName - 値が変更されたプロパティ
      oldValue - プロパティの以前の値
      newValue - プロパティの新しい値
    • firePropertyChange

      public void firePropertyChange(String propertyName, byte oldValue, byte newValue)
      パフォーマンス上の理由でオーバーライドされます。 詳細は「実装上のノート」を参照してください。
      オーバーライド:
      firePropertyChange、クラスComponent
      パラメータ:
      propertyName - 変更されたプロパティのプログラム名
      oldValue - プロパティの古い値(byteとして)
      newValue - プロパティの新しい値(byteとして)
      関連項目:
    • firePropertyChange

      public void firePropertyChange(String propertyName, char oldValue, char newValue)
      パフォーマンス上の理由でオーバーライドされます。 詳細は「実装上のノート」を参照してください。
      オーバーライド:
      firePropertyChange、クラスComponent
      パラメータ:
      propertyName - 変更されたプロパティのプログラム名
      oldValue - プロパティの変更前の値(charとして)
      newValue - プロパティの変更後の値(charとして)
      関連項目:
    • firePropertyChange

      public void firePropertyChange(String propertyName, short oldValue, short newValue)
      パフォーマンス上の理由でオーバーライドされます。 詳細は「実装上のノート」を参照してください。
      オーバーライド:
      firePropertyChange、クラスComponent
      パラメータ:
      propertyName - 変更されたプロパティのプログラム名
      oldValue - プロパティの古い値(shortとして)
      newValue - プロパティ(短いものとして)の新しい値
      関連項目:
    • firePropertyChange

      public void firePropertyChange(String propertyName, int oldValue, int newValue)
      パフォーマンス上の理由でオーバーライドされます。 詳細は「実装上のノート」を参照してください。
      オーバーライド:
      firePropertyChange、クラスJComponent
      パラメータ:
      propertyName - 値が変更されたプロパティ
      oldValue - プロパティの以前の値
      newValue - プロパティの新しい値
    • firePropertyChange

      public void firePropertyChange(String propertyName, long oldValue, long newValue)
      パフォーマンス上の理由でオーバーライドされます。 詳細は「実装上のノート」を参照してください。
      オーバーライド:
      firePropertyChange、クラスComponent
      パラメータ:
      propertyName - 変更されたプロパティのプログラム名
      oldValue - プロパティの古い値(longとして)
      newValue - プロパティの新しい値(longとして)
      関連項目:
    • firePropertyChange

      public void firePropertyChange(String propertyName, float oldValue, float newValue)
      パフォーマンス上の理由でオーバーライドされます。 詳細は「実装上のノート」を参照してください。
      オーバーライド:
      firePropertyChange、クラスComponent
      パラメータ:
      propertyName - 変更されたプロパティのプログラム名
      oldValue - プロパティの古い値(floatとして)
      newValue - プロパティの新しい値(floatとして)
      関連項目:
    • firePropertyChange

      public void firePropertyChange(String propertyName, double oldValue, double newValue)
      パフォーマンス上の理由でオーバーライドされます。 詳細は「実装上のノート」を参照してください。
      オーバーライド:
      firePropertyChange、クラスComponent
      パラメータ:
      propertyName - 変更されたプロパティのプログラム名
      oldValue - プロパティの古い値(doubleとして)
      newValue - プロパティの新しい値(doubleとして)
      関連項目:
    • firePropertyChange

      public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
      パフォーマンス上の理由でオーバーライドされます。 詳細は「実装上のノート」を参照してください。
      オーバーライド:
      firePropertyChange、クラスJComponent
      パラメータ:
      propertyName - 値が変更されたプロパティ
      oldValue - プロパティの以前の値
      newValue - プロパティの新しい値