JavaTM 2 Platform
Standard Ed. 6

javax.swing.tree
類別 DefaultTreeCellEditor

java.lang.Object
  繼承者 javax.swing.tree.DefaultTreeCellEditor
所有已實作的介面:
ActionListener, EventListener, CellEditor, TreeSelectionListener, TreeCellEditor

public class DefaultTreeCellEditor
extends Object
implements ActionListener, TreeCellEditor, TreeSelectionListener

TreeCellEditor。需要提供一個 DefaultTreeCellRenderer 實例,以便可以獲取圖標。您也可以提供一個根據 DefaultTreeCellRenderer 中的圖標佈局的 TreeCellEditor。如果不提供 TreeCellEditor,將使用 TextField。三次鼠標單擊可啟動編輯,或者一次單擊之後,暫停一會,再單擊並延遲 1200 毫秒也可啟動編輯。

警告:此類別的已序列化物件與以後的 Swing 版本不相容。當前的序列化支持適用於短期存儲或運行相同 Swing 版本的應用程序之間的 RMI。從 1.4 版本開始,已在 java.beans 套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder

另請參見:
JTree

巢狀類別摘要
 class DefaultTreeCellEditor.DefaultTextField
          不提供任何編輯器時所使用的 TextField
 class DefaultTreeCellEditor.EditorContainer
          負責存放 editingComponent 的容器。
 
欄位摘要
protected  Color borderSelectionColor
          如果應繪製邊框選擇色,則為 true。
protected  boolean canEdit
          從 Java 2 平臺 v1.4 開始,不應再使用此欄位。
protected  Component editingComponent
          用於編輯的元件,從 editingContainer 獲取。
protected  Container editingContainer
          將包含 editorComponent 的編輯容器。
protected  Icon editingIcon
          編輯時要使用的圖標。
protected  Font font
          用以繪製的字體,null 指示將使用呈現器的字體。
protected  TreePath lastPath
          選擇的最後路徑。
protected  int lastRow
          最後傳入到 getTreeCellEditorComponent 的行。
protected  int offset
          在編輯中使用。
protected  TreeCellEditor realEditor
          處理該編輯的編輯器。
protected  DefaultTreeCellRenderer renderer
          用於從中獲取邊框和偏移量的呈現器。
protected  Timer timer
          在啟動編輯Session之前使用。
protected  JTree tree
          JTree 實例偵聽。
 
建構子摘要
DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer)
          使用指定呈現器和預設編輯器,為 JTree 建構一個 DefaultTreeCellEditor 物件。
DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer, TreeCellEditor editor)
          使用指定的呈現器和指定的編輯器,為 JTree 建構一個 DefaultTreeCellEditor 物件。
 
方法摘要
 void actionPerformed(ActionEvent e)
          計時器被觸發時傳遞訊息,這將啟動編輯Session。
 void addCellEditorListener(CellEditorListener l)
          添加 CellEditorListener
 void cancelCellEditing()
          將 cancelCellEditing 發送到 realEditor,並從此實例移除它。
protected  boolean canEditImmediately(EventObject event)
          如果 eventnull,或者它是一個單擊計數 > 2 的 MouseEvent,並且 inHitRegion 返回 true,則此方法返回 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()
          返回繪製邊框的顏色。
 CellEditorListener[] getCellEditorListeners()
          返回使用 addCellEditorListener() 添加到此 DefaultTreeCellEditor 中的所有 CellEditorListener 組成的陣列。
 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
 void setBorderSelectionColor(Color newColor)
          設置用於邊框的顏色。
 void setFont(Font font)
          設置編輯使用的字體。
protected  void setTree(JTree newTree)
          設置當前正在為其編輯的階層樹。
 boolean shouldSelectCell(EventObject event)
          針對返回值,向 realEditor 發送訊息。
protected  boolean shouldStartEditingTimer(EventObject event)
          如果 eventMouseEvent,並且單擊計數為 1,則返回 true。
protected  void startEditingTimer()
          啟動編輯計時器。
 boolean stopCellEditing()
          如果 realEditor 允許編輯停止,則移除 realEditor,並返回 true,否則返回 false。
 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
從 Java 2 平臺 v1.4 開始,不應再使用此欄位。如果要提供類似行為,您應直接覆寫 isCellEditable


offset

protected transient int offset
在編輯中使用。指定存放 editingComponent 的 x 位置。


tree

protected transient JTree tree
JTree 實例偵聽。


lastPath

protected transient TreePath lastPath
選擇的最後路徑。


timer

protected transient Timer timer
在啟動編輯Session之前使用。


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)
設置用於邊框的顏色。

參數:
newColor - 新的邊框顏色

getBorderSelectionColor

public Color getBorderSelectionColor()
返回繪製邊框的顏色。

返回:
邊框選擇色

setFont

public void setFont(Font font)
設置編輯使用的字體。null 指示應使用的呈現器字體。這將不會覆寫您在編輯器中設置的任何字體,接收者使用該編輯器進行實例化。如果傳入編輯器的 null,則將創建採用此字體的預設編輯器。

參數:
font - 編輯 Font
另請參見:
getFont()

getFont

public Font getFont()
獲取用於編輯的字體。

返回:
編輯 Font
另請參見:
setFont(java.awt.Font)

getTreeCellEditorComponent

public Component getTreeCellEditorComponent(JTree tree,
                                            Object value,
                                            boolean isSelected,
                                            boolean expanded,
                                            boolean leaf,
                                            int row)
配置編輯器。傳遞到 realEditor

指定者:
介面 TreeCellEditor 中的 getTreeCellEditorComponent
參數:
tree - 要請求編輯器進行編輯的 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
參數:
event - 編輯器考慮是否開始進行編輯時應該使用的事件
返回:
如果可開始進行編輯,則返回 true
另請參見:
CellEditor.shouldSelectCell(java.util.EventObject)

shouldSelectCell

public boolean shouldSelectCell(EventObject event)
針對返回值,向 realEditor 發送訊息。

指定者:
介面 CellEditor 中的 shouldSelectCell
參數:
event - 編輯器開始進行編輯時應該使用的事件
返回:
如果編輯器願意選擇正編輯的單元格,則返回 true;否則返回 false
另請參見:
CellEditor.isCellEditable(java.util.EventObject)

stopCellEditing

public boolean stopCellEditing()
如果 realEditor 允許編輯停止,則移除 realEditor,並返回 true,否則返回 false。

指定者:
介面 CellEditor 中的 stopCellEditing
返回:
如果編輯已停止,則返回 true;否則返回 false

cancelCellEditing

public void cancelCellEditing()
cancelCellEditing 發送到 realEditor,並從此實例移除它。

指定者:
介面 CellEditor 中的 cancelCellEditing

addCellEditorListener

public void addCellEditorListener(CellEditorListener l)
添加 CellEditorListener

指定者:
介面 CellEditor 中的 addCellEditorListener
參數:
l - 要添加的偵聽器

removeCellEditorListener

public void removeCellEditorListener(CellEditorListener l)
移除以前添加的 CellEditorListener

指定者:
介面 CellEditor 中的 removeCellEditorListener
參數:
l - 要移除的偵聽器。

getCellEditorListeners

public CellEditorListener[] getCellEditorListeners()
返回使用 addCellEditorListener() 添加到此 DefaultTreeCellEditor 中的所有 CellEditorListener 組成的陣列。

返回:
添加的所有 CellEditorListener,如果沒有添加偵聽器,則返回一個空陣列
從以下版本開始:
1.4

valueChanged

public void valueChanged(TreeSelectionEvent e)
重置 lastPath

指定者:
介面 TreeSelectionListener 中的 valueChanged
參數:
e - 表現更改的特徵的事件。

actionPerformed

public void actionPerformed(ActionEvent e)
計時器被觸發時傳遞訊息,這將啟動編輯Session。

指定者:
介面 ActionListener 中的 actionPerformed

setTree

protected void setTree(JTree newTree)
設置當前正在為其編輯的階層樹。這是添加選擇偵聽器所需要的。

參數:
newTree - 要編輯的新階層樹

shouldStartEditingTimer

protected boolean shouldStartEditingTimer(EventObject event)
如果 eventMouseEvent,並且單擊計數為 1,則返回 true。

參數:
event - 正在研究的事件

startEditingTimer

protected void startEditingTimer()
啟動編輯計時器。


canEditImmediately

protected boolean canEditImmediately(EventObject event)
如果 eventnull,或者它是一個單擊計數 > 2 的 MouseEvent,並且 inHitRegion 返回 true,則此方法返回 true。

參數:
event - 正在研究的事件

inHitRegion

protected boolean inHitRegion(int x,
                              int y)
如果傳入位置是要啟動編輯的有效鼠標位置,則返回 true。如果 x <= 呈現器顯示的圖標和圖標間距的寬度,則此實作返回 false。換句話說,如果使用者單擊呈現器顯示的文本部分,則返回 true,否則返回 false。

參數:
x - 點的 x 坐標
y - 點的 y 坐標
返回:
如果傳入的位置是有效鼠標位置,則返回 true

determineOffset

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

prepareForEditing

protected void prepareForEditing()
僅在編輯啟動之前調用。將把 editingComponent 添加到 editingContainer


createContainer

protected Container createContainer()
創建管理 editingComponent 放置的容器。


createTreeCellEditor

protected TreeCellEditor createTreeCellEditor()
如果建構子中沒有提供 TreeCellEditor,則調用此方法。它返回一個 TextField 編輯器。

返回:
新的 TextField 編輯器

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only