public interface CellEditor
使用此接口可以使复杂的组件(编辑器的客户端)(如JTree
和JTable
允许任何通用编辑器编辑表单元格或树单元格等中的值。没有此通用编辑器界面, JTable
将不得不知道具体的编辑器,如JTextField
, JCheckBox
, JComboBox
,等等。此外,如果没有这个接口,编辑如客户JTable
将无法由用户或第三方ISV将来开发的任何编辑工作。
要使用此界面,创建新编辑器的开发人员可以使新组件实现该接口。 或者开发人员可以选择的包装为基础的方法,并提供一个实现了一个同伴对象CellEditor
接口(见JCellEditor
为例)。 如果用户希望使用第三方ISV编辑器的包装方法是非常有用JTable
,但ISV没有实现CellEditor
接口。 用户可以简单地创建一个包含第三方编辑器对象实例的对象,并将CellEditor
API“转换”为第三方编辑器的API。
CellEditorListener
Modifier and Type | Method and Description |
---|---|
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()
告诉编辑器停止编辑并接受任何部分编辑的值作为编辑器的值。
|
Object getCellEditorValue()
boolean isCellEditable(EventObject anEvent)
anEvent
开始编辑。
anEvent
在调用组件坐标系中。
编辑器不能假定由返回的Component getCellEditorComponent
安装。
这种方法是为了使用客户端避免在不可能编辑的情况下设置和安装编辑器组件的成本。
如果可以开始编辑,则此方法返回true。
anEvent
- 编辑器应该使用的事件来考虑是否开始编辑
shouldSelectCell(java.util.EventObject)
boolean shouldSelectCell(EventObject anEvent)
anEvent
- 编辑器应该用来开始编辑的事件
isCellEditable(java.util.EventObject)
boolean stopCellEditing()
void cancelCellEditing()
void addCellEditorListener(CellEditorListener l)
l
- CellEditorListener
void removeCellEditorListener(CellEditorListener l)
l
- CellEditorListener