Интерфейс 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 стороннего редактора.
- Начиная с:
- 1.2
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addCellEditorListener |
Добавляет слушателя в список, который получает уведомления при завершении или отмене редактирования. |
void |
cancelCellEditing() |
Предписывает редактору отменить редактирование и не принимать частично отредактированное значение. |
Object |
getCellEditorValue() |
Возвращает значение, содержащееся в редакторе. |
boolean |
isCellEditable |
Запрашивает у редактора, можно ли начать редактирование с использованием anEvent. |
void |
removeCellEditorListener |
Удаляет слушателя из списка, получающего уведомления |
boolean |
shouldSelectCell |
Возвращает true, если редактируемую ячейку следует выделить, и false в противном случае. |
boolean |
stopCellEditing() |
Предписывает редактору завершить редактирование и принять частично отредактированное значение в качестве значения редактора. |
Подробное описание методов
getCellEditorValue
Object getCellEditorValue()
- Возвращает:
- значение, содержащееся в редакторе
isCellEditable
boolean isCellEditable(EventObject anEvent)
anEvent. anEvent задан в системе координат вызывающего компонента. Редактор не может предполагать, что компонент, возвращаемый getCellEditorComponent, установлен. Этот метод предназначен для использования клиентом, чтобы избежать затрат на настройку и установку компонента редактора, если редактирование невозможно. Если редактирование можно начать, метод возвращает true.- Параметры:
-
anEvent— событие, которое редактор должен использовать, чтобы определить, начинать ли редактирование - Возвращает:
- true, если редактирование можно начать
- См. также:
shouldSelectCell
boolean shouldSelectCell(EventObject anEvent)
- Параметры:
-
anEvent— событие, которое редактор должен использовать для начала редактирования - Возвращает:
- true, если редактор предлагает выделить редактируемую ячейку; в противном случае возвращает false
- См. также:
stopCellEditing
boolean stopCellEditing()
- Возвращает:
- true, если редактирование было завершено; в противном случае false
cancelCellEditing
void cancelCellEditing()
addCellEditorListener
void addCellEditorListener(CellEditorListener l)
- Параметры:
-
l— CellEditorListener
removeCellEditorListener
void removeCellEditorListener(CellEditorListener l)
- Параметры:
-
l— CellEditorListener
© 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/CellEditor.html