JavaTM 2 Platform
Std. Ed. v1.3

javax.swing.tree
クラス DefaultTreeCellEditor

java.lang.Object
  |
  +--javax.swing.tree.DefaultTreeCellEditor
すべての実装インタフェース:
ActionListener, CellEditor, EventListener, TreeCellEditor, TreeSelectionListener

public class DefaultTreeCellEditor
extends Object
implements ActionListener, TreeCellEditor, TreeSelectionListener

ツリーセルエディタです。DefaultTreeCellRenderer のインスタンスを指定して、アイコンを取得できるようにする必要があります。DefaultTreeCellRenderer のアイコンに従って配置される TreeCellEditor をオプションで指定できます。TreeCellEditor を指定しないと、TextField が使用されます。編集を開始するには、マウスをトリプルクリックするか、マウスクリックを休止をはさんで 2 回行なって 1200 ミリ秒待ちます。

警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。今後の Swing リリースでは、長期間の持続性をサポートする予定です。

関連項目:
JTree

内部クラスの概要
 class DefaultTreeCellEditor.DefaultTextField
          エディタの指定がないときに使用される TextField です。
 class DefaultTreeCellEditor.EditorContainer
          editingComponent の配置を扱うコンテナです。
 
フィールドの概要
protected  Color borderSelectionColor
          ボーダ選択色が描画される場合に true を返します。
protected  boolean canEdit
          isCellEditable が true を返すべきかどうかを判定します。
protected  Component editingComponent
          編集で使用されるコンポーネントです。
protected  Container editingContainer
          編集コンテナで、editorComponent を格納します。
protected  Icon editingIcon
          編集時に使うアイコンです。
protected  Font font
          ペイントするフォントです。
protected  TreePath lastPath
          選択された最後のパスです。
protected  int lastRow
          getTreeCellEditorComponent に最後に渡された行です。
protected  int offset
          編集に使用します。
protected  TreeCellEditor realEditor
          編集を処理するエディタです。
protected  DefaultTreeCellRenderer renderer
          ボーダとオフセットの取得に使用されるレンダリングです。
protected  Timer timer
          編集セッションの開始前に使用されます。
protected  JTree tree
          待機も行なっている JTree のインスタンスです。
 
コンストラクタの概要
DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer)
          指定されたレンダリングとデフォルトのエディタを使用して、JTree 用の DefaultTreeCellEditor オブジェクトを構築します (通常の編集にはこのコンストラクタを使用)。
DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer, TreeCellEditor editor)
          指定されたレンダリングと指定されたエディタを使用して、JTree 用の DefaultTreeCellEditor オブジェクトを構築します (特殊な編集にはこのコンストラクタを使用)。
 
メソッドの概要
 void actionPerformed(ActionEvent e)
          タイマーがトリガーされると、メッセージとして送られ、編集セッションを開始します。
 void addCellEditorListener(CellEditorListener l)
          CellEditorListener を追加します。
 void cancelCellEditing()
          メッセージとして cancelCellEditing を realEditor に送り、このインスタンスから削除します。
protected  boolean canEditImmediately(EventObject event)
          event が null の場合、true を返します。
protected  Container createContainer()
          editingComponent の配置を管理するコンテナを作成します。
protected  TreeCellEditor createTreeCellEditor()
          TreeCellEditor がコンストラクタ内に指定されない場合に呼び出されます。
protected  void determineOffset(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row)
           
 Color getBorderSelectionColor()
          ボーダを描画する色を返します。
 Object getCellEditorValue()
          現在編集中の値を返します。
 Font getFont()
          編集に使用するフォントを返します。
 Component getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row)
          エディタを設定します。
protected  boolean inHitRegion(int x, int y)
          渡された位置が編集を開始するのに有効なマウス位置の場合、true を返します。
 boolean isCellEditable(EventObject event)
          realEditor が true をこのメッセージに返すと、prepareForEditing がメッセージとして送られ、true が返されます。
protected  void prepareForEditing()
          編集が開始される直前に呼び出されます。
 void removeCellEditorListener(CellEditorListener l)
          直前に追加済みの CellEditorListener l を削除します。
 void setBorderSelectionColor(Color newColor)
          ボーダに使う色を設定します。
 void setFont(Font font)
          編集用のフォントを設定します。
protected  void setTree(JTree newTree)
          現在編集対象のツリーを設定します。
 boolean shouldSelectCell(EventObject event)
          戻り値の realEditor をメッセージとして送ります。
protected  boolean shouldStartEditingTimer(EventObject event)
          event が MouseEvent で、クリック数が 1 の場合に true を返します。
protected  void startEditingTimer()
          編集タイマーを起動します。
 boolean stopCellEditing()
          realEditor が編集の停止を許可する場合、realEditor は削除され、true が返されます。
 void valueChanged(TreeSelectionEvent e)
          lastPath をリセットします。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

realEditor

protected TreeCellEditor realEditor
編集を処理するエディタです。

renderer

protected DefaultTreeCellRenderer renderer
ボーダとオフセットの取得に使用されるレンダリングです。

editingContainer

protected Container editingContainer
編集コンテナで、editorComponent を格納します。

editingComponent

protected transient Component editingComponent
編集で使用されるコンポーネントです。editingContainer から取得されます。

canEdit

protected boolean canEdit
isCellEditable が true を返すべきかどうかを判定します。これは、編集中のパスと選択されているパスに基づいて configure... に設定されます。

offset

protected transient int offset
編集に使用します。editingComponent を配置する x 座標を示します。

tree

protected transient JTree tree
待機も行なっている JTree のインスタンスです。

lastPath

protected transient TreePath lastPath
選択された最後のパスです。

timer

protected transient Timer timer
編集セッションの開始前に使用されます。

lastRow

protected transient int lastRow
getTreeCellEditorComponent に最後に渡された行です。

borderSelectionColor

protected Color borderSelectionColor
ボーダ選択色が描画される場合に true を返します。

editingIcon

protected transient Icon editingIcon
編集時に使うアイコンです。

font

protected Font font
ペイントするフォントです。null は、レンダリングのフォントを使うことを示します。
コンストラクタの詳細

DefaultTreeCellEditor

public DefaultTreeCellEditor(JTree tree,
                             DefaultTreeCellRenderer renderer)
指定されたレンダリングとデフォルトのエディタを使用して、JTree 用の DefaultTreeCellEditor オブジェクトを構築します (通常の編集にはこのコンストラクタを使用)。
パラメータ:
tree - JTree オブジェクト
renderer - DefaultTreeCellRenderer オブジェクト

DefaultTreeCellEditor

public DefaultTreeCellEditor(JTree tree,
                             DefaultTreeCellRenderer renderer,
                             TreeCellEditor editor)
指定されたレンダリングと指定されたエディタを使用して、JTree 用の DefaultTreeCellEditor オブジェクトを構築します (特殊な編集にはこのコンストラクタを使用)。
パラメータ:
tree - JTree オブジェクト
renderer - DefaultTreeCellRenderer オブジェクト
editor - TreeCellEditor オブジェクト
メソッドの詳細

setBorderSelectionColor

public void setBorderSelectionColor(Color newColor)
ボーダに使う色を設定します。

getBorderSelectionColor

public Color getBorderSelectionColor()
ボーダを描画する色を返します。

setFont

public void setFont(Font font)
編集用のフォントを設定します。null は、レンダリングのフォントを使うことを示します。これは、レシーバのインスタンスを生成するのに使ったエディタに設定したフォントがあっても、オーバーライドすることはありません。エディタの null が渡されると、このフォントを選択するデフォルトエディタが作成されます。
パラメータ:
font - 編集用のフォント
関連項目:
getFont()

getFont

public Font getFont()
編集に使用するフォントを返します。
戻り値:
編集用のフォント
関連項目:
setFont(java.awt.Font)

getTreeCellEditorComponent

public Component getTreeCellEditorComponent(JTree tree,
                                            Object value,
                                            boolean isSelected,
                                            boolean expanded,
                                            boolean leaf,
                                            int row)
エディタを設定します。realEditor に渡されます。
定義:
インタフェース TreeCellEditor 内の getTreeCellEditorComponent
インタフェース javax.swing.tree.TreeCellEditor からコピーされたタグ:
パラメータ:
table - エディタに編集を要求している JTree。このパラメータは null も可
value - 編集されるセル値
isSelected - セルがレンダリングとなり選択部がハイライトされている場合は true
expanded - ノードが展開されている場合は true
leaf - ノードが葉ノードの場合は true
row - 編集中のノードの行インデックス
戻り値:
編集のためのコンポーネント

getCellEditorValue

public Object getCellEditorValue()
現在編集中の値を返します。
定義:
インタフェース CellEditor 内の getCellEditorValue

isCellEditable

public boolean isCellEditable(EventObject event)
realEditor が true をこのメッセージに返すと、prepareForEditing がメッセージとして送られ、true が返されます。
定義:
インタフェース CellEditor 内の isCellEditable
インタフェース javax.swing.CellEditor からコピーされたタグ:
パラメータ:
anEvent - エディタが編集を始めるかどうかを検討するのに使うイベント
戻り値:
編集を開始できる場合は true
関連項目:
CellEditor.shouldSelectCell(java.util.EventObject)

shouldSelectCell

public boolean shouldSelectCell(EventObject event)
戻り値の realEditor をメッセージとして送ります。
定義:
インタフェース CellEditor 内の shouldSelectCell
インタフェース javax.swing.CellEditor からコピーされたタグ:
パラメータ:
anEvent - エディタが編集を始めるために使うイベント
戻り値:
編集セルを選択するようにエディタが望む場合は true
関連項目:
CellEditor.isCellEditable(java.util.EventObject)

stopCellEditing

public boolean stopCellEditing()
realEditor が編集の停止を許可する場合、realEditor は削除され、true が返されます。そうでない場合は、false が返されます。
定義:
インタフェース CellEditor 内の stopCellEditing
インタフェース javax.swing.CellEditor からコピーされたタグ:
戻り値:
編集が停止された場合は true

cancelCellEditing

public void cancelCellEditing()
メッセージとして cancelCellEditing を realEditor に送り、このインスタンスから削除します。
定義:
インタフェース CellEditor 内の cancelCellEditing

addCellEditorListener

public void addCellEditorListener(CellEditorListener l)
CellEditorListener を追加します。
定義:
インタフェース CellEditor 内の addCellEditorListener
インタフェース javax.swing.CellEditor からコピーされたタグ:
パラメータ:
l - CellEditorListener

removeCellEditorListener

public void removeCellEditorListener(CellEditorListener l)
直前に追加済みの CellEditorListener l を削除します。
定義:
インタフェース CellEditor 内の removeCellEditorListener
インタフェース javax.swing.CellEditor からコピーされたタグ:
パラメータ:
l - CellEditorListener

valueChanged

public void valueChanged(TreeSelectionEvent e)
lastPath をリセットします。
定義:
インタフェース TreeSelectionListener 内の valueChanged
インタフェース javax.swing.event.TreeSelectionListener からコピーされたタグ:
パラメータ:
e - 変更を記述するイベント

actionPerformed

public void actionPerformed(ActionEvent e)
タイマーがトリガーされると、メッセージとして送られ、編集セッションを開始します。
定義:
インタフェース ActionListener 内の actionPerformed

setTree

protected void setTree(JTree newTree)
現在編集対象のツリーを設定します。選択リスナーを追加するのに必要です。

shouldStartEditingTimer

protected boolean shouldStartEditingTimer(EventObject event)
event が MouseEvent で、クリック数が 1 の場合に true を返します。

startEditingTimer

protected void startEditingTimer()
編集タイマーを起動します。

canEditImmediately

protected boolean canEditImmediately(EventObject event)
event が null の場合、true を返します。クリック数が 2 より大きい MouseEvent で inHitRegion を持つ場合にも true を返します。

inHitRegion

protected boolean inHitRegion(int x,
                              int y)
渡された位置が編集を開始するのに有効なマウス位置の場合、true を返します。x がレンダリングによって表示されるアイコンとアイコンギャップの幅以下の場合に、false を返せるようにこのメソッドは実装されています。つまり、レンダリングで表示されたテキスト部分の上でユーザがクリックする場合は true、そうでない場合に false を返します。

determineOffset

protected void determineOffset(JTree tree,
                               Object value,
                               boolean isSelected,
                               boolean expanded,
                               boolean leaf,
                               int row)

prepareForEditing

protected void prepareForEditing()
編集が開始される直前に呼び出されます。editingComponenteditingContainer に追加されます。

createContainer

protected Container createContainer()
editingComponent の配置を管理するコンテナを作成します。

createTreeCellEditor

protected TreeCellEditor createTreeCellEditor()
TreeCellEditor がコンストラクタ内に指定されない場合に呼び出されます。TextField エディタを返します。

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.