Класс DefaultTreeCellEditor
- java.lang.Object
-
- javax.swing.tree.DefaultTreeCellEditor
- Все реализуемые интерфейсы:
-
ActionListener,EventListener,CellEditor,TreeSelectionListener,TreeCellEditor
public class DefaultTreeCellEditor extends Object implements ActionListener, TreeCellEditor, TreeSelectionListener
Редактор ячеек дерева по умолчанию. Вам необходимо предоставить экземпляр DefaultTreeCellRenderer, чтобы получить иконки. Вы можете дополнительно предоставить TreeCellEditor, который будет расположен в соответствии с иконкой в DefaultTreeCellRenderer. Если вы не предоставите TreeCellEditor, будет использован TextField. Редактирование начинается при тройном щелчке мышью или после щелчка, паузы, щелчка и задержки в 1200 миллисекунд.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими ту же версию Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans™ была добавлена в пакет java.beans. Пожалуйста, обратитесь к XMLEncoder.
- См. также:
JTree
Вложенные классы
| Модификатор и тип | Класс | Описание |
|---|---|---|
class | DefaultTreeCellEditor.DefaultTextField |
|
class | DefaultTreeCellEditor.EditorContainer | Контейнер, отвечающий за размещение |
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected Color | borderSelectionColor | Истина, если должна быть нарисована граница выделения. |
protected boolean | canEdit | Начиная с Java 2 Platform v1.4, это поле больше не должно использоваться. |
protected Component | editingComponent | Компонент, используемый при редактировании, полученный из |
protected Container | editingContainer | Контейнер редактирования, который будет содержать |
protected Icon | editingIcon | Иконка, используемая при редактировании. |
protected Font | font | Шрифт для рисования, |
protected TreePath | lastPath | Последний путь, который был выбран. |
protected int | lastRow | Строка, которая была последний раз передана в |
protected int | offset | Используется при редактировании. |
protected TreeCellEditor | realEditor | Редактор, обрабатывающий редактирование. |
protected DefaultTreeCellRenderer | renderer | Рендерер, используемый для получения границ и смещений. |
protected Timer | timer | Используется перед началом сеанса редактирования. |
protected JTree | tree | Экземпляр |
Конструкторы
| Конструктор | Описание |
|---|---|
DefaultTreeCellEditor(JTree tree,
DefaultTreeCellRenderer renderer) | Создает объект |
DefaultTreeCellEditor(JTree tree,
DefaultTreeCellRenderer renderer,
TreeCellEditor editor) | Создает объект |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void | actionPerformed(ActionEvent e) | Вызывается при срабатывании таймера, запускает сеанс редактирования. |
void | addCellEditorListener(CellEditorListener l) | Добавляет |
void | cancelCellEditing() | Отправляет сообщение |
protected boolean | canEditImmediately(EventObject event) | Возвращает true, если |
protected Container | createContainer() | Создает контейнер для управления расположением |
protected TreeCellEditor | createTreeCellEditor() | Вызывается, если |
protected void | determineOffset(JTree tree,
Object value,
boolean isSelected,
boolean expanded,
boolean leaf,
int row) | Определяет смещение. |
Color | getBorderSelectionColor() | Возвращает цвет границы. |
CellEditorListener[] | getCellEditorListeners() | Возвращает массив всех |
Object | getCellEditorValue() | Возвращает значение, которое в данный момент редактируется. |
Font | getFont() | Возвращает шрифт, используемый для редактирования. |
Component | getTreeCellEditorComponent(JTree tree,
Object value,
boolean isSelected,
boolean expanded,
boolean leaf,
int row) | Настраивает редактор. |
protected boolean | inHitRegion(int x,
int y) | Возвращает true, если переданное местоположение является допустимым для начала редактирования. |
boolean | isCellEditable(EventObject event) | Если |
protected void | prepareForEditing() | Вызывается непосредственно перед началом редактирования. |
void | removeCellEditorListener(CellEditorListener l) | Удаляет ранее добавленный |
void | setBorderSelectionColor(Color newColor) | Устанавливает цвет для границы. |
void | setFont(Font font) | Устанавливает шрифт для редактирования. |
protected void | setTree(JTree newTree) | Устанавливает дерево, для которого выполняется редактирование. |
boolean | shouldSelectCell(EventObject event) | Отправляет сообщение |
protected boolean | shouldStartEditingTimer(EventObject event) | Возвращает true, если |
protected void | startEditingTimer() | Запускает таймер редактирования. |
boolean | stopCellEditing() | Если |
void | valueChanged(TreeSelectionEvent e) | Сбрасывает |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Поля
realEditor
protected TreeCellEditor realEditor
Редактор, обрабатывающий редактирование.
renderer
protected DefaultTreeCellRenderer renderer
Рендерер, используемый для получения границ и отступов.
editingContainer
protected Container editingContainer
Контейнер редактирования, будет содержать editorComponent.
editingComponent
protected transient Component editingComponent
Компонент, используемый при редактировании, полученный из editingContainer.
canEdit
protected boolean canEdit
Начиная с платформы Java 2 версии 1.4, это поле больше не должно использоваться. Если вы хотите обеспечить аналогичное поведение, вы должны напрямую переопределить isCellEditable.
offset
protected transient int offset
Используется при редактировании. Указывает позицию x для размещения editingComponent.
tree
protected transient JTree tree
Экземпляр JTree, который также прослушивает.
lastPath
protected transient TreePath lastPath
Последний выбранный путь.
timer
protected transient Timer timer
Используется перед началом сессии редактирования.
lastRow
protected transient int lastRow
Строка, которая была последний раз передана в getTreeCellEditorComponent.
borderSelectionColor
protected Color borderSelectionColor
Истина, если должна быть нарисована граница выделения.
editingIcon
protected transient Icon editingIcon
Иконка, используемая при редактировании.
font
protected Font font
Шрифт, которым рисуется. null указывает, что нужно использовать шрифт рендерера.
Конструкторы
DefaultTreeCellEditor
public DefaultTreeCellEditor(JTree tree,
DefaultTreeCellRenderer renderer) Создаёт объект DefaultTreeCellEditor для JTree, используя указанный рендерер и редактор по умолчанию. (Используйте этот конструктор для обычного редактирования.)
- Параметры:
-
tree- объектJTree -
renderer- объектDefaultTreeCellRenderer
DefaultTreeCellEditor
public DefaultTreeCellEditor(JTree tree,
DefaultTreeCellRenderer renderer,
TreeCellEditor editor) Создаёт объект DefaultTreeCellEditor для JTree, используя указанный рендерер и указанный редактор. (Используйте этот конструктор для специализированного редактирования.)
- Параметры:
-
tree- объектJTree -
renderer- объектDefaultTreeCellRenderer -
editor- объектTreeCellEditor
Методы
setBorderSelectionColor
public void setBorderSelectionColor(Color newColor)
Устанавливает цвет границы.
- Параметры:
-
newColor- новый цвет границы
getBorderSelectionColor
public Color getBorderSelectionColor()
Возвращает цвет, которым нарисована граница.
- Возвращает:
- цвет выделения границы
setFont
public void setFont(Font font)
Устанавливает шрифт для редактирования. null указывает, что нужно использовать шрифт рендерера. Это НЕ переопределит шрифт, заданный в редакторе, с которым был создан объект получателя. Если null для редактора был передан в качестве аргумента, будет создан стандартный редактор, который подберёт этот шрифт.
- Параметры:
-
font- шрифт редактированияFont - См. также:
getFont()
getFont
public Font getFont()
Получает шрифт, используемый для редактирования.
- Возвращает:
- шрифт редактирования
Font - См. также:
setFont(java.awt.Font)
getTreeCellEditorComponent
public Component getTreeCellEditorComponent(JTree tree,
Object value,
boolean isSelected,
boolean expanded,
boolean leaf,
int row) Настраивает редактор. Передаётся realEditor.
- Определено в:
-
getTreeCellEditorComponentв интерфейсеTreeCellEditor - Параметры:
-
tree- JTree, запрашивающий редактор для редактирования; этот параметр может быть null -
value- значение ячейки для редактирования -
isSelected- true, если ячейка должна быть отображена с выделением при выборе -
expanded- true, если узел раскрыт -
leaf- true, если узел является листовым узлом -
row- индекс строки редактируемого узла - Возвращает:
- компонент для редактирования
getCellEditorValue
public Object getCellEditorValue()
Возвращает значение, которое в данный момент редактируется.
- Определено в:
-
getCellEditorValueв интерфейсеCellEditor - Возвращает:
- значение, которое в данный момент редактируется
isCellEditable
public boolean isCellEditable(EventObject event)
Если realEditor возвращает true для этого сообщения, prepareForEditing обрабатывается и возвращается true.
- Определено в:
-
isCellEditableв интерфейсеCellEditor - Параметры:
-
event- событие, которое редактор должен использовать для определения, следует ли начинать редактирование или нет - Возвращает:
- true, если редактирование может начаться
- См. также:
CellEditor.shouldSelectCell(java.util.EventObject)
shouldSelectCell
public boolean shouldSelectCell(EventObject event)
Отправляет сообщение realEditor для получения возвращаемого значения.
- Определено в:
-
shouldSelectCellв интерфейсеCellEditor - Параметры:
-
event- событие, которое редактор должен использовать для начала редактирования - Возвращает:
- true, если редактор хочет выделить ячейку редактирования; в противном случае возвращает false
- См. также:
CellEditor.isCellEditable(java.util.EventObject)
stopCellEditing
public boolean stopCellEditing()
Если realEditor позволит остановить редактирование, realEditor удаляется и возвращается true, иначе — false.
- Определено в:
-
stopCellEditingв интерфейсеCellEditor - Возвращает:
- true, если редактирование было остановлено; иначе — false
cancelCellEditing
public void cancelCellEditing()
Отправляет сообщение cancelCellEditing в realEditor и удаляет его из этого экземпляра.
- Определено в:
-
cancelCellEditingв интерфейсеCellEditor
addCellEditorListener
public void addCellEditorListener(CellEditorListener l)
Добавляет CellEditorListener.
- Определено в:
-
addCellEditorListenerв интерфейсеCellEditor - Параметры:
-
l- слушатель, который нужно добавить
removeCellEditorListener
public void removeCellEditorListener(CellEditorListener l)
Удаляет ранее добавленного CellEditorListener.
- Определено в:
-
removeCellEditorListenerв интерфейсеCellEditor - Параметры:
-
l- слушатель, который нужно удалить
getCellEditorListeners
public CellEditorListener[] getCellEditorListeners()
Возвращает массив всех CellEditorListener добавленных в этот DefaultTreeCellEditor с помощью addCellEditorListener().
- Возвращает:
- все
CellEditorListenerдобавленные или пустой массив, если слушателей нет - С момента:
- 1.4
valueChanged
public void valueChanged(TreeSelectionEvent e)
Сбрасывает lastPath.
- Определено в:
-
valueChangedв интерфейсеTreeSelectionListener - Параметры:
-
e- событие, характеризующее изменение.
actionPerformed
public void actionPerformed(ActionEvent e)
Получает сообщение, когда таймер срабатывает, это запускает сеанс редактирования.
- Определено в:
-
actionPerformedв интерфейсеActionListener - Параметры:
-
e- событие для обработки
setTree
protected void setTree(JTree newTree)
Устанавливает дерево, которое в данный момент редактируется. Это необходимо для добавления слушателя выбора.
- Параметры:
-
newTree- новое дерево для редактирования
shouldStartEditingTimer
protected boolean shouldStartEditingTimer(EventObject event)
Возвращает true, если event является MouseEvent и количество щелчков равно 1.
- Параметры:
-
event- событие, которое изучается - Возвращает:
- должен ли
eventзапустить таймер редактирования
startEditingTimer
protected void startEditingTimer()
Запускает таймер редактирования.
canEditImmediately
protected boolean canEditImmediately(EventObject event)
Возвращает true, если event является null, или это MouseEvent с количеством щелчков > 2 и inHitRegion возвращает true.
- Параметры:
-
event- событие, которое изучается - Возвращает:
- можно ли начать редактирование для данного
event
inHitRegion
protected boolean inHitRegion(int x,
int y) Возвращает true, если переданное положение является допустимым местоположением для начала редактирования мышью. Реализовано для возврата false, если x меньше или равно ширине иконки и зазора между иконками, отображаемыми рендерером. Другими словами, это возвращает true, если пользователь щелкнул по текстовой части, отображаемой рендерером, и false в противном случае.
- Параметры:
-
x- координата x точки -
y- координата y точки - Возвращает:
- true, если переданное местоположение является допустимым местоположением для щелчка мыши
determineOffset
protected void determineOffset(JTree tree,
Object value,
boolean isSelected,
boolean expanded,
boolean leaf,
int row) Определение смещения.
- Параметры:
-
tree- объектJTree -
value- значение -
isSelected- состояние выбора -
expanded- состояние раскрытия -
leaf- состояние листа -
row- текущая строка
prepareForEditing
protected void prepareForEditing()
Вызывается непосредственно перед началом редактирования. Добавит editingComponent к editingContainer.
createContainer
protected Container createContainer()
Создаёт контейнер для управления размещением editingComponent.
- Возвращает:
- новый объект Container
createTreeCellEditor
protected TreeCellEditor createTreeCellEditor()
Вызывается, если TreeCellEditor не предоставлен в конструкторе. Возвращает редактор TextField.
- Возвращает:
- новый редактор
TextField
© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/tree/DefaultTreeCellEditor.html