Интерфейс CellEditor
- Все известные подинтерфейсы:
- TableCellEditor, TreeCellEditor
- Все известные реализующие классы:
- AbstractCellEditor, DefaultCellEditor, DefaultTreeCellEditor
public interface CellEditor
Этот интерфейс определяет методы, которые должен реализовать любой общий редактор.
Наличие этого интерфейса позволяет сложным компонентам (клиенту редактора), таким как JTree и JTable, разрешить любому общему редактору редактировать значения в ячейке таблицы или ячейке дерева и т.д. Без этого универсального интерфейса редактирования, JTable пришлось бы знать о конкретных редакторах, таких как JTextField, JCheckBox, JComboBox, и т.д. Кроме того, без этого интерфейса клиенты редакторов, такие как JTable, не смогут работать с любыми редакторами, разработанными в будущем пользователем или сторонним поставщиком услуг (ISV).
Чтобы использовать этот интерфейс, разработчик, создающий новый редактор, может заставить новый компонент реализовать интерфейс. Или разработчик может выбрать подход с использованием оболочки и предоставить связанный объект, который реализует интерфейс CellEditor (см. пример в DefaultCellEditor). Подход с использованием оболочки особенно полезен, если пользователь хочет использовать редактор стороннего поставщика услуг (ISV) с JTable, но ISV не реализовал интерфейс CellEditor. Пользователь может просто создать объект, содержащий экземпляр объекта редактора стороннего поставщика и «перевести» API CellEditor в API редактора стороннего поставщика.
- См. также:
CellEditorListener
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
addCellEditorListener(CellEditorListener l) Добавляет слушателя в список, который уведомляется, когда редактор прекращает или отменяет редактирование. |
void |
cancelCellEditing() Указывает редактору отменить редактирование и не принимать частично отредактированное значение. |
Object |
getCellEditorValue() Возвращает значение, содержащееся в редакторе. |
boolean |
isCellEditable(EventObject anEvent) Запрашивает у редактора, может ли он начать редактирование с использованием |
void |
removeCellEditorListener(CellEditorListener l) Удаляет слушателя из списка, который уведомляется |
boolean |
shouldSelectCell(EventObject anEvent) Возвращает true, если ячейка редактирования должна быть выбрана, иначе false. |
boolean |
stopCellEditing() Указывает редактору остановить редактирование и принять любое частично отредактированное значение в качестве значения редактора. |
Методы
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, если редактирование было остановлено; в противном случае false
cancelCellEditing
void cancelCellEditing()
Указывает редактору отменить редактирование и не принимать частично отредактированное значение.
addCellEditorListener
void addCellEditorListener(CellEditorListener l)
Добавляет слушателя в список, который уведомляется, когда редактор останавливается или отменяет редактирование.
- Параметры:
-
l- CellEditorListener
removeCellEditorListener
void removeCellEditorListener(CellEditorListener l)
Удаляет слушателя из списка, который уведомляется
- Параметры:
-
l- CellEditorListener
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.