模块  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。 否则返回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