Module  java.desktop
软件包  javax.swing

Interface CellEditor

  • All Known Subinterfaces:
    TableCellEditorTreeCellEditor
    所有已知实现类:
    AbstractCellEditorDefaultCellEditorDefaultTreeCellEditor


    public interface CellEditor
    该界面定义了一般编辑器应该能够实现的方法。

    使用此接口可以使复杂组件(编辑器的客户端)(如JTreeJTable允许任何通用编辑器在表单元格或树形单元格等中编辑值。如果没有此通用编辑器界面,则JTable将不得不知道具体的编辑器,如JTextFieldJCheckBoxJComboBox ,等等。此外,如果没有这个接口,编辑如客户JTable将无法由用户或第三方ISV将来开发的任何编辑工作。

    要使用此界面,创建新编辑器的开发人员可以使新组件实现该接口。 或者开发人员可以选择基于包装器的方法,并提供实现CellEditor接口的协同对象(例如,参见DefaultCellEditor )。 如果用户想要使用具有JTable第三方ISV编辑器,但是ISV没有实现CellEditor接口,则包装方法特别有用。 用户只需创建一个包含第三方编辑器对象实例的对象,并将CellEditor API翻译成第三方编辑器的API。

    从以下版本开始:
    1.2
    另请参见:
    CellEditorListener
    • 方法详细信息

      • getCellEditorValue

        Object getCellEditorValue​()
        返回编辑器中包含的值。
        结果
        编辑器中包含的值
      • isCellEditable

        boolean isCellEditable​(EventObject anEvent)
        要求编辑器是否可以使用anEvent开始编辑。 anEvent在调用组件坐标系中。 编辑器不能假定已安装getCellEditorComponent返回的组件。 这种方法是为了使用客户端避免在不可能编辑的情况下设置和安装编辑器组件的成本。 如果可以开始编辑,则此方法返回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; 否则为假
      • cancelCellEditing

        void cancelCellEditing​()
        告诉编辑器取消编辑,不接受任何部分编辑的值。
      • addCellEditorListener

        void addCellEditorListener​(CellEditorListener l)
        将一个监听器添加到编辑器停止时通知的列表,或者取消编辑。
        参数
        l - CellEditorListener
      • removeCellEditorListener

        void removeCellEditorListener​(CellEditorListener l)
        从通知列表中移除侦听器
        参数
        l - CellEditorListener