JavaTM 2 Platform
Standard Ed. 6

javax.swing
介面 CellEditor

所有已知子介面:
TableCellEditor, TreeCellEditor
所有已知實作類別:
AbstractCellEditor, DefaultCellEditor, DefaultTreeCellEditor

public interface CellEditor

此介面定義任何通用編輯器應該能夠實作的方法。

讓此介面啟用複雜元件(編輯器的客戶端),比如 JTreeJTable,從而允許任何一般編輯器編輯表單元格值、階層樹單元格值等等。如果沒有此一般編輯器介面,則 JTable 不得不瞭解特定編輯器,比如 JTextFieldJCheckBoxJComboBox 等等。此外,如果沒有此介面,則編輯器(如 JTable)的客戶端無法使用使用者或第三方 ISV 將來開發的其他任何編輯器。

要使用此介面,創建新編輯器的開發人員可以用新的元件實作該介面。或者開發人員可以選擇一個基於外覆器的方法,提供一個實作 CellEditor 介面的輔助物件(請參見 JCellEditor 獲取範例)。如果使用者想將第三方 ISV 編輯器用於 JTable,但該 ISV 沒有實作 CellEditor 介面,則外覆器方法特別有用。使用者可以只創建一個套件含第三方編輯器物件實例的物件,並將 CellEditor API“轉換”成第三方編輯器的 API。

另請參見:
CellEditorListener

方法摘要
 void addCellEditorListener(CellEditorListener l)
          當編輯器停止運作或取消編輯時,向被通知的列表添加一個偵聽器。
 void cancelCellEditing()
          告知編輯器取消編輯並且不接受任何已部分編輯的值。
 Object getCellEditorValue()
          返回編輯器中包含的值。
 boolean isCellEditable(EventObject anEvent)
          詢問編輯器它是否可以使用 anEvent 開始進行編輯。
 void removeCellEditorListener(CellEditorListener l)
          從被通知的列表中移除一個偵聽器
 boolean shouldSelectCell(EventObject anEvent)
          如果應該選擇正編輯的單元格,則返回 true,否則返回 false。
 boolean stopCellEditing()
          告知編輯器停止編輯並接受任何已部分編輯的值作為編輯器的值。
 

方法詳細資訊

getCellEditorValue

Object getCellEditorValue()
返回編輯器中包含的值。

返回:
編輯器中包含的值

isCellEditable

boolean isCellEditable(EventObject anEvent)
詢問編輯器它是否可以使用 anEvent 開始進行編輯。anEvent 在將要調用的元件的坐標系統中。編輯器不能假定由 getCellEditorComponent 返回的 Component 已被安裝。此方法供客戶端使用,以避免不可能進行編輯時設置和安裝編輯器元件所帶來的花費。如果可以開始進行編輯,則此方法返回 true。

參數:
anEvent - 編輯器考慮是否開始進行編輯時應該使用的事件
返回:
如果可開始進行編輯,則返回 true
另請參見:
shouldSelectCell(java.util.EventObject)

shouldSelectCell

boolean shouldSelectCell(EventObject anEvent)
如果應該選擇正編輯的單元格,則返回 true,否則返回 false。通常,返回的值為 true,因為大多數情況下都應該選擇正編輯的單元格。不過,通過返回 false 可以使選擇不受某些型別的編輯更改的影響。例如,對於包含一列複選框的表,使用者也許想在不改變選擇的情況下能夠更改這些複選框。(請參見 Netscape Communicator 來獲得這樣的範例)當然,這取決於編輯器的客戶端是否使用返回的值,但是,如果它不想使用返回值的話,則不必使用。

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

stopCellEditing

boolean stopCellEditing()
告知編輯器停止編輯並接受任何已部分編輯的值作為編輯器的值。如果編輯沒有停止,則編輯器返回 false;這對已生效並且無法接受無效條目的編輯器很有用。

返回:
如果編輯已停止,則返回 true;否則返回 false

cancelCellEditing

void cancelCellEditing()
告知編輯器取消編輯並且不接受任何已部分編輯的值。


addCellEditorListener

void addCellEditorListener(CellEditorListener l)
當編輯器停止運作或取消編輯時,向被通知的列表添加一個偵聽器。

參數:
l - CellEditorListener

removeCellEditorListener

void removeCellEditorListener(CellEditorListener l)
從被通知的列表中移除一個偵聽器

參數:
l - CellEditorListener

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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