Spec-Zone.ru › OpenJDK 24

Класс JTree

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JTree
Все реализуемые интерфейсы:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable
@JavaBean(defaultProperty="UI", description="A component that displays a set of hierarchical data as an outline.") public class JTree extends JComponent implements Scrollable, Accessible
Элемент управления, который отображает набор иерархических данных в виде очертания. Вы можете найти документацию и примеры использования деревьев, ориентированные на выполнение задач, в Руководстве по использованию деревьев — разделе учебника Java Tutorial.

Конкретный узел дерева можно идентифицировать либо по TreePath (объекту, который инкапсулирует узел и все его предки), либо по его строке отображения, где каждая строка в области отображения отображает один узел. Расширенный узел — это нелистовой узел (как определяется TreeModel.isLeaf(node), возвращающим false), который отображает своих потомков, когда все его предки расширены. Сжатый узел — это узел, который скрывает их. Скрытый узел — это узел, который находится под сжатым предком. Все родительские узлы видимого узла расширены, но могут или не отображаться. Отображаемый узел — это узел, который одновременно видимый и отображается в области отображения, где его можно увидеть.

Следующие JTree методы используют «видимый» в значении «отображаемый»:
  • isRootVisible()
  • setRootVisible()
  • scrollPathToVisible()
  • scrollRowToVisible()
  • getVisibleRowCount()
  • setVisibleRowCount()
Следующая группа JTree методов использует «видимый» в значении «видимый» (под расширенным родителем):
  • isVisible()
  • makeVisible()
Если вас интересует, когда меняется выбор, реализуйте интерфейс TreeSelectionListener и добавьте экземпляр с помощью метода addTreeSelectionListener. valueChanged будет вызван при изменении выбора, то есть если пользователь дважды щелкнет по одному узлу, valueChanged будет вызван только один раз.

Если вы заинтересованы в обнаружении событий двойного щелчка или когда пользователь щелкает по узлу, независимо от того, выбран он или нет, рекомендуем сделать следующее:

 final JTree tree = ...;

 MouseListener ml = new MouseAdapter() {
     public void mousePressed(MouseEvent e) {
         int selRow = tree.getRowForLocation(e.getX(), e.getY());
         TreePath selPath = tree.getPathForLocation(e.getX(), e.getY());
         if(selRow != -1) {
             if(e.getClickCount() == 1) {
                 mySingleClick(selRow, selPath);
             }
             else if(e.getClickCount() == 2) {
                 myDoubleClick(selRow, selPath);
             }
         }
     }
 };
 tree.addMouseListener(ml);
 
ПРИМЕЧАНИЕ. В этом примере извлекаются и путь, и строка, но вам необходимо получить только интересующую вас информацию.

Для отображения составных узлов (например, узлов, содержащих как графический значок, так и текст) подклассируйте TreeCellRenderer и используйте setCellRenderer(javax.swing.tree.TreeCellRenderer), чтобы указать дереву использовать его. Для редактирования таких узлов подклассируйте TreeCellEditor и используйте setCellEditor(javax.swing.tree.TreeCellEditor).

Как и все классы JComponent, вы можете использовать InputMap и ActionMap, чтобы связать объект Action с KeyStroke и выполнить действие при определенных условиях.

Предупреждение: Swing не является потокобезопасным. Дополнительную информацию см. в Политике потоков Swing.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, добавлена поддержка длительного хранения всех компонентов JavaBeans в пакете java.beans. См. XMLEncoder.

С момента:
1.2

Краткое описание вложенных классов

Modifier and Type Class Description
protected class  JTree.AccessibleJTree
Этот класс реализует поддержку доступности для класса JTree.
static final class  JTree.DropLocation
Подкласс TransferHandler.DropLocation, представляющий место выпадения для JTree.
static class  JTree.DynamicUtilTreeNode
DynamicUtilTreeNode может оборачивать векторы/хеш-таблицы/массивы/строки и создавать соответствующие узлы дерева-потомков по мере необходимости.
protected static class  JTree.EmptySelectionModel
EmptySelectionModel — это TreeSelectionModel, который не позволяет ничего выбирать.
protected class  JTree.TreeModelHandler
Прослушивает модель и обновляет expandedState соответствующим образом, когда узлы удаляются или изменяются.
protected class  JTree.TreeSelectionRedirector
Обрабатывает создание нового TreeSelectionEvent с JTree в качестве источника и передает его всем слушателям.

Вложенные классы/интерфейсы, объявленные в классе javax.swing.JComponent

JComponent.AccessibleJComponent

Вложенные классы/интерфейсы, объявленные в классе java.awt.Container

Container.AccessibleAWTContainer

Вложенные классы/интерфейсы, объявленные в классе java.awt.Component

Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy

Краткое описание полей

Modifier and Type Field Description
static final String ANCHOR_SELECTION_PATH_PROPERTY
Имя связанного свойства для пути выбора якоря.
static final String CELL_EDITOR_PROPERTY
Имя связанного свойства для cellEditor.
static final String CELL_RENDERER_PROPERTY
Имя связанного свойства для cellRenderer.
protected TreeCellEditor cellEditor
Редактор для записей.
protected TreeCellRenderer cellRenderer
Ячейка, используемая для рисования узлов.
protected boolean editable
Дерево редактируемо?
static final String EDITABLE_PROPERTY
Имя связанного свойства для editable.
static final String EXPANDS_SELECTED_PATHS_PROPERTY
Имя связанного свойства для свойства расширенных выделенных путей
static final String INVOKES_STOP_CELL_EDITING_PROPERTY
Имя связанного свойства для messagesStopCellEditing.
protected boolean invokesStopCellEditing
Если true, при необходимости остановки редактирования путем изменения выделения, изменения данных в дереве или другими способами, вызывается stopCellEditing, и изменения сохраняются.
static final String LARGE_MODEL_PROPERTY
Имя связанного свойства для largeModel.
protected boolean largeModel
Является ли это дерево моделью большого размера?
static final String LEAD_SELECTION_PATH_PROPERTY
Имя связанного свойства для leadSelectionPath.
static final String ROOT_VISIBLE_PROPERTY
Имя связанного свойства для rootVisible.
protected boolean rootVisible
True, если корневой узел отображается, false, если его дочерние узлы являются наиболее видимыми узлами.
static final String ROW_HEIGHT_PROPERTY
Имя связанного свойства для rowHeight.
protected int rowHeight
Высота, используемая для каждой строки отображения.
static final String SCROLLS_ON_EXPAND_PROPERTY
Имя связанного свойства для scrollsOnExpand.
protected boolean scrollsOnExpand
Если true, при раскрытии узла, максимально возможное количество потомков прокручивается для видимости.
static final String SELECTION_MODEL_PROPERTY
Имя связанного свойства для selectionModel.
protected TreeSelectionModel selectionModel
Моделирует набор выделенных узлов в этом дереве.
protected JTree.TreeSelectionRedirector selectionRedirector
Создает новое событие и передает его selectionListeners.
static final String SHOWS_ROOT_HANDLES_PROPERTY
Имя связанного свойства для showsRootHandles.
protected boolean showsRootHandles
True, если ручки отображаются на верхнем уровне дерева.
static final String TOGGLE_CLICK_COUNT_PROPERTY
Имя связанного свойства для toggleClickCount.
protected int toggleClickCount
Количество щелчков мышью перед раскрытием узла.
static final String TREE_MODEL_PROPERTY
Имя связанного свойства для treeModel.
protected TreeModel treeModel
Модель, определяющая дерево, отображаемое этим объектом.
protected TreeModelListener treeModelListener
Обновляет expandedState.
static final String VISIBLE_ROW_COUNT_PROPERTY
Имя связанного свойства для visibleRowCount.
protected int visibleRowCount
Количество строк для одновременного отображения.

Поля, объявленные в классе javax.swing.JComponent

listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW

Поля, объявленные в классе java.awt.Component

accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

Поля, объявленные в интерфейсе java.awt.image.ImageObserver

ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH

Краткое описание конструкторов

Конструктор Description
JTree()
Возвращает JTree с образцовой моделью.
JTree(Object[] value)
Возвращает JTree, где каждый элемент указанного массива является потомком нового корневого узла, который не отображается.
JTree(Hashtable<?,?> value)
Возвращает JTree, созданный из Hashtable, который не отображается с корнем.
JTree(Vector<?> value)
Возвращает JTree, где каждый элемент указанного Vector является потомком нового корневого узла, который не отображается.
JTree(TreeModel newModel)
Возвращает экземпляр JTree, который отображает корневой узел — дерево создается с использованием указанной модели данных.
JTree(TreeNode root)
Возвращает JTree с указанным TreeNode в качестве корня, который отображает корневой узел.
JTree(TreeNode root, boolean asksAllowsChildren)
Возвращает JTree с указанным TreeNode в качестве корня, который отображает корневой узел и который определяет, является ли узел листом, указанным способом.

Краткое описание методов

Модификатор и тип Метод Описание
void addSelectionInterval(int index0, int index1)
Добавляет указанные строки (включительно) в выделение.
void addSelectionPath(TreePath path)
Добавляет узел, идентифицированный указанным TreePath, в текущее выделение.
void addSelectionPaths(TreePath[] paths)
Добавляет каждый путь в массиве путей в текущее выделение.
void addSelectionRow(int row)
Добавляет путь в указанной строке в текущее выделение.
void addSelectionRows(int[] rows)
Добавляет пути в каждой из указанных строк в текущее выделение.
void addTreeExpansionListener(TreeExpansionListener tel)
Добавляет прослушиватель для событий TreeExpansion.
void addTreeSelectionListener(TreeSelectionListener tsl)
Добавляет прослушиватель для событий TreeSelection.
void addTreeWillExpandListener(TreeWillExpandListener tel)
Добавляет прослушиватель для событий TreeWillExpand.
void cancelEditing()
Отменяет текущий сеанс редактирования.
void clearSelection()
Очищает выделение.
protected void clearToggledPaths()
Очищает кэш переключаемых путей дерева.
void collapsePath(TreePath path)
Обеспечивает свернутость и видимость узла, идентифицированного указанным путем.
void collapseRow(int row)
Обеспечивает свернутость узла в указанной строке.
String convertValueToText(Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)
Вызывается средствами визуализации для преобразования указанного значения в текст.
protected static TreeModel createTreeModel(Object value)
Возвращает TreeModel, оборачивающий указанный объект.
protected TreeModelListener createTreeModelListener()
Создает и возвращает экземпляр TreeModelHandler.
void expandPath(TreePath path)
Обеспечивает раскрытие и видимость узла, идентифицированного указанным путем.
void expandRow(int row)
Обеспечивает раскрытие и видимость узла в указанной строке.
void fireTreeCollapsed(TreePath path)
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события.
void fireTreeExpanded(TreePath path)
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события.
void fireTreeWillCollapse(TreePath path)
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события.
void fireTreeWillExpand(TreePath path)
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события.
protected void fireValueChanged(TreeSelectionEvent e)
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события.
AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этим JTree.
TreePath getAnchorSelectionPath()
Возвращает путь, идентифицированный как якорь.
TreeCellEditor getCellEditor()
Возвращает редактор, используемый для редактирования записей в дереве.
TreeCellRenderer getCellRenderer()
Возвращает текущий TreeCellRenderer, который отображает каждую ячейку.
TreePath getClosestPathForLocation(int x, int y)
Возвращает путь к узлу, ближайшему к x,y.
int getClosestRowForLocation(int x, int y)
Возвращает строку к узлу, ближайшему к x,y.
protected static TreeModel getDefaultTreeModel()
Создает и возвращает образец TreeModel.
protected Enumeration<TreePath> getDescendantToggledPaths(TreePath parent)
Возвращает Enumeration TreePaths, которые были развернуты и являются потомками parent.
boolean getDragEnabled()
Возвращает, включена ли автоматическая обработка перетаскивания.
final JTree.DropLocation getDropLocation()
Возвращает местоположение, которое этот компонент должен визуально указывать как место перетаскивания во время операции DnD над компонентом, или null, если в настоящее время не следует отображать местоположение.
final DropMode getDropMode()
Возвращает режим перетаскивания для этого компонента.
TreePath getEditingPath()
Возвращает путь к элементу, который в настоящее время редактируется.
Enumeration<TreePath> getExpandedDescendants(TreePath parent)
Возвращает Enumeration потомков пути parent, которые в настоящее время развернуты.
boolean getExpandsSelectedPaths()
Возвращает свойство expandsSelectedPaths.
boolean getInvokesStopCellEditing()
Возвращает индикатор, указывающий, что происходит при прерывании редактирования.
Object getLastSelectedPathComponent()
Возвращает последний компонент пути выбранного пути.
TreePath getLeadSelectionPath()
Возвращает путь, идентифицированный как ведущий.
int getLeadSelectionRow()
Возвращает индекс строки, соответствующий ведущему пути.
int getMaxSelectionRow()
Возвращает самую большую выбранную строку.
int getMinSelectionRow()
Возвращает самую маленькую выбранную строку.
TreeModel getModel()
Возвращает TreeModel, который предоставляет данные.
TreePath getNextMatch(String prefix, int startingRow, Position.Bias bias)
Возвращает TreePath к следующему элементу дерева, который начинается с префикса.
protected TreePath[] getPathBetweenRows(int index0, int index1)
Возвращает пути (включительно) между указанными строками.
Rectangle getPathBounds(TreePath path)
Возвращает Rectangle, в который будет нарисован указанный узел.
TreePath getPathForLocation(int x, int y)
Возвращает путь для узла в указанном местоположении.
TreePath getPathForRow(int row)
Возвращает путь для указанной строки.
Dimension getPreferredScrollableViewportSize()
Возвращает предпочтительный размер отображения JTree.
Rectangle getRowBounds(int row)
Возвращает Rectangle, в котором нарисован узел в указанной строке.
int getRowCount()
Возвращает количество видимых узлов.
int getRowForLocation(int x, int y)
Возвращает строку для указанного местоположения.
int getRowForPath(TreePath path)
Возвращает строку, отображающую узел, идентифицированный указанным путем.
int getRowHeight()
Возвращает высоту каждой строки.
int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
Возвращает величину для блочного инкремента, которая представляет собой высоту или ширину visibleRect, в зависимости от orientation.
boolean getScrollableTracksViewportHeight()
Возвращает false, указывая, что высота видового экрана не определяет высоту таблицы, если предпочтительная высота дерева меньше высоты видового экрана.
boolean getScrollableTracksViewportWidth()
Возвращает false, указывая, что ширина видового экрана не определяет ширину таблицы, если предпочтительная ширина дерева меньше ширины видового экрана.
int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
Возвращает величину инкремента при прокрутке.
boolean getScrollsOnExpand()
Возвращает значение свойства scrollsOnExpand.
int getSelectionCount()
Возвращает количество выделенных узлов.
TreeSelectionModel getSelectionModel()
Возвращает модель для выделенных элементов.
TreePath getSelectionPath()
Возвращает путь к первому выделенному узлу.
TreePath[] getSelectionPaths()
Возвращает пути всех выделенных значений.
int[] getSelectionRows()
Возвращает все текущие выделенные строки.
boolean getShowsRootHandles()
Возвращает значение свойства showsRootHandles.
int getToggleClickCount()
Возвращает количество щелчков мышью, необходимых для раскрытия или закрытия узла.
String getToolTipText(MouseEvent event)
Переопределяет метод JComponent's getToolTipText, чтобы разрешить использование подсказок рендерера, если у него задан текст.
TreeExpansionListener[] getTreeExpansionListeners()
Возвращает массив всех TreeExpansionListener, добавленных в этот JTree с помощью addTreeExpansionListener().
TreeSelectionListener[] getTreeSelectionListeners()
Возвращает массив всех TreeSelectionListener, добавленных в этот JTree с помощью addTreeSelectionListener().
TreeWillExpandListener[] getTreeWillExpandListeners()
Возвращает массив всех TreeWillExpandListener, добавленных в этот JTree с помощью addTreeWillExpandListener().
TreeUI getUI()
Возвращает объект L&F, который рендерит этот компонент.
String getUIClassID()
Возвращает имя класса L&F, который рендерит этот компонент.
int getVisibleRowCount()
Возвращает количество строк, отображаемых в области отображения.
boolean hasBeenExpanded(TreePath path)
Возвращает true, если узел, идентифицированный путем, когда-либо был раскрыт.
boolean isCollapsed(int row)
Возвращает true, если узел в указанной строке отображения свёрнут.
boolean isCollapsed(TreePath path)
Возвращает true, если значение, идентифицированное путем, в данный момент свёрнуто, это вернёт false, если какие-либо из значений в пути в данный момент не отображаются.
boolean isEditable()
Возвращает true, если дерево редактируемо.
boolean isEditing()
Возвращает true, если дерево находится в состоянии редактирования.
boolean isExpanded(int row)
Возвращает true, если узел в указанной строке отображения в данный момент раскрыт.
boolean isExpanded(TreePath path)
Возвращает true, если узел, идентифицированный путем, в данный момент раскрыт.
boolean isFixedRowHeight()
Возвращает true, если высота каждой строки отображения имеет фиксированный размер.
boolean isLargeModel()
Возвращает true, если дерево настроено для большой модели данных.
boolean isPathEditable(TreePath path)
Возвращает isEditable.
boolean isPathSelected(TreePath path)
Возвращает true, если элемент, идентифицированный путем, в данный момент выбран.
boolean isRootVisible()
Возвращает true, если корневой узел дерева отображается.
boolean isRowSelected(int row)
Возвращает true, если узел, идентифицированный строкой, выбран.
boolean isSelectionEmpty()
Возвращает true, если выбор в данный момент пуст.
boolean isVisible(TreePath path)
Возвращает true, если значение, определённое путём, в настоящее время отображается, что означает, что это либо корень, либо все его родительские элементы раскрыты.
void makeVisible(TreePath path)
Обеспечивает, чтобы узел, определённый путём, был в данный момент отображаем.
protected String paramString()
Возвращает строковое представление этого JTree.
protected boolean removeDescendantSelectedPaths(TreePath path, boolean includePath)
Удаляет любые пути в выборе, которые являются потомками path.
protected void removeDescendantToggledPaths(Enumeration<TreePath> toRemove)
Удаляет всех потомков TreePaths в toRemove, которые были раскрыты.
void removeSelectionInterval(int index0, int index1)
Удаляет указанные строки (включительно) из выбора.
void removeSelectionPath(TreePath path)
Удаляет узел, идентифицированный указанным путем, из текущего выбора.
void removeSelectionPaths(TreePath[] paths)
Удаляет узлы, идентифицированные указанными массивами путей, из текущего выбора.
void removeSelectionRow(int row)
Удаляет строку с индексом row из текущего выбора.
void removeSelectionRows(int[] rows)
Удаляет строки, выбранные в каждой из указанных строк.
void removeTreeExpansionListener(TreeExpansionListener tel)
Удаляет слушателя событий TreeExpansion.
void removeTreeSelectionListener(TreeSelectionListener tsl)
Удаляет слушателя TreeSelection.
void removeTreeWillExpandListener(TreeWillExpandListener tel)
Удаляет слушателя событий TreeWillExpand.
void scrollPathToVisible(TreePath path)
Убеждается, что все компоненты пути в пути раскрыты (кроме последнего компонента пути) и прокручивает так, чтобы узел, идентифицированный путем, отображался.
void scrollRowToVisible(int row)
Прокручивает элемент, идентифицированный строкой, пока он не отобразится.
void setAnchorSelectionPath(TreePath newPath)
Устанавливает путь, идентифицированный как якорь.
void setCellEditor(TreeCellEditor cellEditor)
Устанавливает редактор ячейки.
void setCellRenderer(TreeCellRenderer x)
Устанавливает TreeCellRenderer, который будет использоваться для отрисовки каждой ячейки.
void setDragEnabled(boolean b)
Включает или выключает автоматическую обработку перетаскивания.
final void setDropMode(DropMode dropMode)
Устанавливает режим выгрузки для этого компонента.
void setEditable(boolean flag)
Определяет, является ли дерево редактируемым.
protected void setExpandedState(TreePath path, boolean state)
Устанавливает состояние раскрытия этого JTree.
void setExpandsSelectedPaths(boolean newValue)
Настраивает свойство expandsSelectedPaths.
void setInvokesStopCellEditing(boolean newValue)
Определяет, что произойдёт при прерывании редактирования выбором другого узла в дереве, изменении данных дерева или по другим причинам.
void setLargeModel(boolean newValue)
Определяет, будет ли пользовательский интерфейс использовать большую модель данных.
void setLeadSelectionPath(TreePath newPath)
Устанавливает путь, идентифицированный как ведущий.
void setModel(TreeModel newModel)
Устанавливает TreeModel, который будет предоставлять данные.
void setRootVisible(boolean rootVisible)
Определяет, будет ли корневой узел из TreeModel отображаться.
void setRowHeight(int rowHeight)
Устанавливает высоту каждой ячейки в пикселях.
void setScrollsOnExpand(boolean newValue)
Устанавливает свойство scrollsOnExpand, которое определяет, может ли дерево прокручиваться для отображения ранее скрытых дочерних элементов.
void setSelectionInterval(int index0, int index1)
Выбирает строки в указанном интервале (включительно).
void setSelectionModel(TreeSelectionModel selectionModel)
Устанавливает модель выбора дерева.
void setSelectionPath(TreePath path)
Выбирает узел, идентифицированный указанным путем.
void setSelectionPaths(TreePath[] paths)
Выбирает узлы, идентифицированные указанным массивом путей.
void setSelectionRow(int row)
Выбирает узел в указанной строке отображения.
void setSelectionRows(int[] rows)
Выбирает узлы, соответствующие каждому из указанных строк в отображении.
void setShowsRootHandles(boolean newValue)
Устанавливает значение свойства showsRootHandles, которое определяет, должны ли отображаться обработчики узлов.
void setToggleClickCount(int clickCount)
Устанавливает количество щелчков мыши перед тем, как узел будет развернут или свернут.
void setUI(TreeUI ui)
Устанавливает объект L&F, который отображает этот компонент.
void setVisibleRowCount(int newCount)
Устанавливает количество строк для отображения.
void startEditingAtPath(TreePath path)
Выбирает узел, идентифицированный указанным путем, и инициирует редактирование.
boolean stopEditing()
Завершает текущую сессию редактирования.
void treeDidChange()
Отправляется, когда дерево изменилось настолько, что требуется перерасчёт границ, но недостаточно для удаления набора развернутых узлов (например, узлы были развернуты или свернуты, или в дерево были вставлены узлы).
void updateUI()
Уведомление от UIManager о том, что L&F изменился.

Methods declared in class javax.swing.JComponent

addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update

Methods declared in class java.awt.Container

add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree

Methods declared in class java.awt.Component

action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle

Methods declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание полей

treeModel

protected transient TreeModel treeModel
Модель, определяющая дерево, отображаемое этим объектом.

selectionModel

protected transient TreeSelectionModel selectionModel
Модель набора выбранных узлов в этом дереве.

rootVisible

protected boolean rootVisible
Истинно, если корневой узел отображается; ложно, если его дочерние узлы являются наиболее видимыми.

cellRenderer

protected transient TreeCellRenderer cellRenderer
Ячейка, используемая для рисования узлов. Если null, пользовательский интерфейс использует значение по умолчанию cellRenderer.

rowHeight

protected int rowHeight
Высота, используемая для каждой строки отображения. Если это значение меньше или равно 0, рендерер определяет высоту для каждой строки.

showsRootHandles

protected boolean showsRootHandles
Истинно, если маркеры отображаются на верхнем уровне дерева.

Маркер — это небольшой значок, отображаемый рядом с узлом, позволяющий пользователю щелкнуть один раз, чтобы развернуть или свернуть узел. В распространенных интерфейсах для узла, который можно развернуть, отображается знак «плюс» (+), а для узла, который можно свернуть, — знак «минус» (-). Маркеры всегда отображаются для узлов ниже верхнего уровня.

Если параметр rootVisible указывает на отображение корневого узла, то это единственный узел на верхнем уровне. Если корневой узел не отображается, все его дочерние узлы находятся на верхнем уровне дерева. Маркеры всегда отображаются для узлов, отличных от верхнего.

Если корневой узел не виден, рекомендуется установить это значение в true. В противном случае дерево будет выглядеть точно как список, и пользователи могут не знать, что «элементы списка» фактически являются узлами дерева.

См. также:
  • rootVisible

selectionRedirector

protected transient JTree.TreeSelectionRedirector selectionRedirector
Создает новое событие и передает его дальше selectionListeners.

cellEditor

protected transient TreeCellEditor cellEditor
Редактор для записей. По умолчанию значение null (дерево не редактируется).

editable

protected boolean editable
Дерево редактируется? По умолчанию ложно.

largeModel

protected boolean largeModel
Является ли это дерево большой моделью? Это параметр оптимизации кода. Большая модель может быть использована, когда высота ячейки одинакова для всех узлов. Пользовательский интерфейс затем будет кэшировать очень мало информации и вместо этого будет постоянно сообщать модели. Без большой модели пользовательский интерфейс кэширует большую часть информации, что приводит к меньшему числу вызовов метода модели.

Это значение является лишь рекомендацией для пользовательского интерфейса. Не все пользовательские интерфейсы будут использовать его. Значение по умолчанию — ложно.

visibleRowCount

protected int visibleRowCount
Количество строк, отображаемых одновременно. Это значение используется для интерфейса Scrollable. Оно определяет предпочтительный размер области отображения.

invokesStopCellEditing

protected boolean invokesStopCellEditing
Если истинно, при остановке редактирования путем изменения выбора, изменения данных в дереве или другими средствами вызывается stopCellEditing, и изменения сохраняются. Если ложно, вызывается cancelCellEditing, и изменения отбрасываются. Значение по умолчанию — ложно.

scrollsOnExpand

protected boolean scrollsOnExpand
Если истинно, при разворачивании узла, как можно больше потомков прокручиваются, чтобы быть видимыми.

toggleClickCount

protected int toggleClickCount
Количество щелчков мышью перед развертыванием узла.

treeModelListener

protected transient TreeModelListener treeModelListener
Обновляет expandedState.

CELL_RENDERER_PROPERTY

public static final String CELL_RENDERER_PROPERTY
Имя связанного свойства для cellRenderer.
См. также:
  • Значения константных полей

TREE_MODEL_PROPERTY

public static final String TREE_MODEL_PROPERTY
Имя связанного свойства для treeModel.
См. также:
  • Значения константных полей

ROOT_VISIBLE_PROPERTY

public static final String ROOT_VISIBLE_PROPERTY
Имя связанного свойства для rootVisible.
См. также:
  • Значения константных полей

SHOWS_ROOT_HANDLES_PROPERTY

public static final String SHOWS_ROOT_HANDLES_PROPERTY
Имя связанного свойства для showsRootHandles.
См. также:
  • Значения константных полей

ROW_HEIGHT_PROPERTY

public static final String ROW_HEIGHT_PROPERTY
Имя связанного свойства для rowHeight.
См. также:
  • Значения константных полей

CELL_EDITOR_PROPERTY

public static final String CELL_EDITOR_PROPERTY
Имя связанного свойства для cellEditor.
См. также:
  • Значения константных полей

EDITABLE_PROPERTY

public static final String EDITABLE_PROPERTY
Имя связанного свойства для editable.
См. также:
  • Значения константных полей

LARGE_MODEL_PROPERTY

public static final String LARGE_MODEL_PROPERTY
Имя связанного свойства для largeModel.
См. также:
  • Значения константных полей

SELECTION_MODEL_PROPERTY

public static final String SELECTION_MODEL_PROPERTY
Имя связанного свойства для selectionModel.
См. также:
  • Значения константных полей

VISIBLE_ROW_COUNT_PROPERTY

public static final String VISIBLE_ROW_COUNT_PROPERTY
Имя связанного свойства для visibleRowCount.
См. также:
  • Значения константных полей

INVOKES_STOP_CELL_EDITING_PROPERTY

public static final String INVOKES_STOP_CELL_EDITING_PROPERTY
Имя связанного свойства для messagesStopCellEditing.
См. также:
  • Значения константных полей

SCROLLS_ON_EXPAND_PROPERTY

public static final String SCROLLS_ON_EXPAND_PROPERTY
Имя связанного свойства для scrollsOnExpand.
См. также:
  • Значения константных полей

TOGGLE_CLICK_COUNT_PROPERTY

public static final String TOGGLE_CLICK_COUNT_PROPERTY
Имя связанного свойства для toggleClickCount.
См. также:
  • Значения константных полей

LEAD_SELECTION_PATH_PROPERTY

public static final String LEAD_SELECTION_PATH_PROPERTY
Имя связанного свойства для leadSelectionPath.
Since:
1.3
See Also:
  • Constant Field Values

ANCHOR_SELECTION_PATH_PROPERTY

public static final String ANCHOR_SELECTION_PATH_PROPERTY
Имя связанного свойства для пути выделения якоря.
Since:
1.3
See Also:
  • Constant Field Values

EXPANDS_SELECTED_PATHS_PROPERTY

public static final String EXPANDS_SELECTED_PATHS_PROPERTY
Имя связанного свойства для свойства разворачивания выбранных путей
Since:
1.3
See Also:
  • Constant Field Values

Подробное описание конструкторов

JTree

public JTree()
Возвращает JTree с образцовой моделью. Модель по умолчанию, используемая деревом, определяет конечный узел как любой узел без дочерних элементов.
See Also:
  • DefaultTreeModel.asksAllowsChildren

JTree

public JTree(Object[] value)
Возвращает JTree, где каждый элемент указанного массива является дочерним элементом нового корневого узла, который не отображается. По умолчанию дерево определяет конечный узел как любой узел без дочерних элементов.
Parameters:
value - массив Object
See Also:
  • DefaultTreeModel.asksAllowsChildren

JTree

public JTree(Vector<?> value)
Возвращает JTree, где каждый элемент указанного Vector является дочерним элементом нового корневого узла, который не отображается. По умолчанию дерево определяет конечный узел как любой узел без дочерних элементов.
Parameters:
value - Vector
See Also:
  • DefaultTreeModel.asksAllowsChildren

JTree

public JTree(Hashtable<?,?> value)
Возвращает JTree, созданный из Hashtable, который не отображается с корнем. Каждая часть значения пар ключ/значение в HashTable становится дочерним элементом нового корневого узла. По умолчанию дерево определяет конечный узел как любой узел без дочерних элементов.
Parameters:
value - Hashtable
See Also:
  • DefaultTreeModel.asksAllowsChildren

JTree

public JTree(TreeNode root)
Возвращает JTree с указанным TreeNode в качестве корня, который отображает корневой узел. По умолчанию дерево определяет конечный узел как любой узел без дочерних элементов.
Parameters:
root - объект TreeNode
See Also:
  • DefaultTreeModel.asksAllowsChildren

JTree

public JTree(TreeNode root, boolean asksAllowsChildren)
Возвращает JTree с указанным TreeNode в качестве корня, который отображает корневой узел и который определяет, является ли узел конечным узлом указанным образом.
Parameters:
root - объект TreeNode
asksAllowsChildren - если false, любой узел без дочерних элементов является конечным узлом; если true, только узлы, которые не допускают дочерних элементов, являются конечными узлами
See Also:
  • DefaultTreeModel.asksAllowsChildren

JTree

@ConstructorProperties("model") public JTree(TreeModel newModel)
Возвращает экземпляр JTree, который отображает корневой узел — дерево создается с использованием указанной модели данных.
Parameters:
newModel - TreeModel, используемый в качестве модели данных

Подробное описание методов

getDefaultTreeModel

protected static TreeModel getDefaultTreeModel()
Создает и возвращает образцовую TreeModel. Используется преимущественно для beanbuilders, чтобы показать что-нибудь интересное.
Returns:
стандартная TreeModel

createTreeModel

protected static TreeModel createTreeModel(Object value)
Возвращает TreeModel, оборачивающий указанный объект. Если объект является:
  • массивом Object,
  • Hashtable или
  • Vector
то создается новый корневой узел с каждым из входящих объектов в качестве дочерних элементов. В противном случае создается новый корень со значением "root".
Parameters:
value - Object, используемый в качестве основы для TreeModel
Returns:
TreeModel, оборачивающий указанный объект

getUI

public TreeUI getUI()
Возвращает объект L&F, который отображает этот компонент.
Overrides:
getUI в классе JComponent
Returns:
объект TreeUI, который отображает этот компонент

setUI

@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component's LookAndFeel.") public void setUI(TreeUI ui)
Устанавливает объект L&F, который отображает этот компонент.

Это связанное свойство.

Parameters:
ui - объект L&F TreeUI
See Also:
  • UIDefaults.getUI(javax.swing.JComponent)

updateUI

public void updateUI()
Уведомление от UIManager о том, что L&F изменился. Заменяет текущий объект UI на последнюю версию из UIManager.
Overrides:
updateUI в классе JComponent
See Also:
  • JComponent.updateUI()

getUIClassID

@BeanProperty(bound=false) public String getUIClassID()
Возвращает имя класса L&F, который отображает этот компонент.
Overrides:
getUIClassID в классе JComponent
Returns:
строка "TreeUI"
See Also:
  • JComponent.getUIClassID()
  • UIDefaults.getUI(javax.swing.JComponent)

getCellRenderer

public TreeCellRenderer getCellRenderer()
Возвращает текущий TreeCellRenderer, который отображает каждую ячейку.
Returns:
TreeCellRenderer, который отображает каждую ячейку

setCellRenderer

@BeanProperty(description="The TreeCellRenderer that will be used to draw each cell.") public void setCellRenderer(TreeCellRenderer x)
Устанавливает TreeCellRenderer, который будет использоваться для отрисовки каждой ячейки.

Это связанное свойство.

Parameters:
x - TreeCellRenderer, который должен отображать каждую ячейку

setEditable

@BeanProperty(description="Whether the tree is editable.") public void setEditable(boolean flag)
Определяет, редактируется ли дерево. Создает событие изменения свойства, если новое значение отличается от существующего.

Это связанное свойство.

Parameters:
flag - булево значение, true, если дерево редактируется

isEditable

public boolean isEditable()
Возвращает true, если дерево редактируется.
Returns:
true, если дерево редактируется

setCellEditor

@BeanProperty(description="The cell editor. A null value implies the tree cannot be edited.") public void setCellEditor(TreeCellEditor cellEditor)
Устанавливает редактор ячеек. Значение null подразумевает, что дерево не может быть отредактировано. Если это представляет собой изменение в cellEditor, метод propertyChange вызывается для всех слушателей.

Это связанное свойство.

Parameters:
cellEditor - используемый TreeCellEditor

getCellEditor

public TreeCellEditor getCellEditor()
Возвращает редактор, используемый для редактирования записей в дереве.
Returns:
используемый TreeCellEditor, или null, если дерево не может быть отредактировано

getModel

public TreeModel getModel()
Возвращает TreeModel, который предоставляет данные.
Returns:
TreeModel, предоставляющий данные

setModel

@BeanProperty(description="The TreeModel that will provide the data.") public void setModel(TreeModel newModel)
Устанавливает TreeModel, который будет предоставлять данные.

Это свойство привязано.

Parameters:
newModel - TreeModel, предоставляющий данные

isRootVisible

public boolean isRootVisible()
Возвращает true, если корневой узел дерева отображается.
Returns:
true, если корневой узел дерева отображается
See Also:
  • rootVisible

setRootVisible

@BeanProperty(description="Whether or not the root node from the TreeModel is visible.") public void setRootVisible(boolean rootVisible)
Определяет, отображается ли корневой узел из TreeModel.

Это свойство привязано.

Parameters:
rootVisible - true, если корневой узел дерева должен отображаться
See Also:
  • rootVisible

setShowsRootHandles

@BeanProperty(description="Whether the node handles are to be displayed.") public void setShowsRootHandles(boolean newValue)
Устанавливает значение свойства showsRootHandles, которое определяет, должны ли отображаться маркеры узла. Значение по умолчанию зависит от конструктора, использованного для создания JTree. Некоторые стили отображения могут не поддерживать маркеры; они проигнорируют это свойство.

Это свойство привязано.

Parameters:
newValue - true, если маркеры корня должны отображаться; в противном случае, false
See Also:
  • showsRootHandles
  • getShowsRootHandles()

getShowsRootHandles

public boolean getShowsRootHandles()
Возвращает значение свойства showsRootHandles.
Returns:
значение свойства showsRootHandles
See Also:
  • showsRootHandles

setRowHeight

@BeanProperty(description="The height of each cell.") public void setRowHeight(int rowHeight)
Устанавливает высоту каждой ячейки в пикселях. Если заданное значение меньше или равно нулю, запрашивается текущий рендерер ячейки для высоты каждой строки.

Это свойство привязано.

Parameters:
rowHeight - высота каждой ячейки в пикселях

getRowHeight

public int getRowHeight()
Возвращает высоту каждой строки. Если возвращаемое значение меньше или равно 0, высота каждой строки определяется рендерером.
Returns:
высота каждой строки

isFixedRowHeight

@BeanProperty(bound=false) public boolean isFixedRowHeight()
Возвращает true, если высота каждой строки отображения имеет фиксированный размер.
Returns:
true, если высота каждой строки имеет фиксированный размер

setLargeModel

@BeanProperty(description="Whether the UI should use a large model.") public void setLargeModel(boolean newValue)
Указывает, должен ли UI использовать большую модель. (Не все UI будут это реализовывать.) Вызывает событие изменения свойства для LARGE_MODEL_PROPERTY.

Это свойство привязано.

Parameters:
newValue - true, чтобы указать UI на большую модель
See Also:
  • largeModel

isLargeModel

public boolean isLargeModel()
Возвращает true, если дерево настроено для большой модели.
Returns:
true, если большая модель предложена
See Also:
  • largeModel

setInvokesStopCellEditing

@BeanProperty(description="Determines what happens when editing is interrupted, selecting another node in the tree, a change in the tree's data, or some other means.") public void setInvokesStopCellEditing(boolean newValue)
Определяет, что происходит, когда редактирование прерывается выбором другого узла в дереве, изменением данных дерева или по другим причинам. Установка этого свойства в true вызывает автоматическое сохранение изменений при прерывании редактирования.

Вызывает событие изменения свойства INVOKES_STOP_CELL_EDITING_PROPERTY.

Parameters:
newValue - true означает, что stopCellEditing вызывается при прерывании редактирования и данные сохраняются; false означает, что вызывается cancelCellEditing, и изменения теряются

getInvokesStopCellEditing

public boolean getInvokesStopCellEditing()
Возвращает индикатор того, что происходит при прерывании редактирования.
Returns:
индикатор того, что происходит при прерывании редактирования
See Also:
  • setInvokesStopCellEditing(boolean)

setScrollsOnExpand

@BeanProperty(description="Indicates if a node descendant should be scrolled when expanded.") public void setScrollsOnExpand(boolean newValue)
Устанавливает свойство scrollsOnExpand, которое определяет, может ли дерево прокручиваться для отображения ранее скрытых дочерних элементов. Если это свойство равно true (значение по умолчанию), при разворачивании узла дерево может использовать прокрутку, чтобы сделать максимально возможное количество потомков узла видимыми. В некоторых стилях отображения деревья могут не нуждаться в прокрутке при разворачивании; такие стили отображения проигнорируют это свойство.

Это свойство привязано.

Parameters:
newValue - false, чтобы отключить прокрутку при разворачивании; true, чтобы включить ее
See Also:
  • getScrollsOnExpand()

getScrollsOnExpand

public boolean getScrollsOnExpand()
Возвращает значение свойства scrollsOnExpand.
Returns:
значение свойства scrollsOnExpand

setToggleClickCount

@BeanProperty(description="Number of clicks before a node will expand/collapse.") public void setToggleClickCount(int clickCount)
Устанавливает количество щелчков мыши, прежде чем узел будет развернут или закрыт. По умолчанию — два.

Это свойство привязано.

Parameters:
clickCount - количество щелчков мыши для разворачивания или закрытия узла
Since:
1.3

getToggleClickCount

public int getToggleClickCount()
Возвращает количество щелчков мыши, необходимых для разворачивания или закрытия узла.
Returns:
количество щелчков мыши до разворачивания узла
Since:
1.3

setExpandsSelectedPaths

@BeanProperty(description="Indicates whether changes to the selection should make the parent of the path visible.") public void setExpandsSelectedPaths(boolean newValue)
Настраивает свойство expandsSelectedPaths. Если true, каждый раз при изменении выделения, либо через TreeSelectionModel, либо через методы покрытия, предоставленные JTree, предки TreePath будут развернуты, чтобы сделать их видимыми (видимыми, что означает развернутый родительский путь, а не обязательно в видимой области JTree). Если false, при изменении выделения родитель узла не делается видимым (все его предки развернуты). Это полезно, если вы хотите, чтобы ваша модель выделения поддерживала пути, которые не всегда видимы (все предки развернуты).

Это свойство привязано.

Parameters:
newValue - новое значение для expandsSelectedPaths
Since:
1.3

getExpandsSelectedPaths

public boolean getExpandsSelectedPaths()
Возвращает свойство expandsSelectedPaths.
Returns:
true, если изменение выделения приводит к развертыванию родительского пути
Since:
1.3
See Also:
  • setExpandsSelectedPaths(boolean)

setDragEnabled

@BeanProperty(bound=false, description="determines whether automatic drag handling is enabled") public void setDragEnabled(boolean b)
Включает или выключает автоматическую обработку перетаскивания. Для включения автоматической обработки перетаскивания, этот свойство должно быть установлено в true, и TransferHandler дерева должен быть non-null. Значение по умолчанию свойства dragEnabled равно false.

Задача выполнения этого свойства и распознавания жеста перетаскивания пользователя лежит на реализации внешнего вида, а конкретнее, на TreeUI дерева. При включённой автоматической обработке перетаскивания, большинство реализаций внешнего вида (включая те, которые наследуют от BasicLookAndFeel) начинают операцию перетаскивания и перемещения всякий раз, когда пользователь нажимает кнопку мыши над элементом и перемещает мышь на несколько пикселей. Установка этого свойства в true может, следовательно, оказать тонкое влияние на поведение выделения.

Если используется реализация внешнего вида, которая игнорирует это свойство, вы всё равно можете начать операцию перетаскивания и перемещения, вызвав exportAsDrag на TransferHandler дерева.

Parameters:
b - включать или нет автоматическую обработку перетаскивания
Throws:
HeadlessException - если b равно true и GraphicsEnvironment.isHeadless() возвращает true
Since:
1.4
See Also:
  • GraphicsEnvironment.isHeadless()
  • getDragEnabled()
  • JComponent.setTransferHandler(javax.swing.TransferHandler)
  • TransferHandler

getDragEnabled

public boolean getDragEnabled()
Возвращает, включена ли автоматическая обработка перетаскивания.
Returns:
значение свойства dragEnabled
Since:
1.4
See Also:
  • setDragEnabled(boolean)

setDropMode

public final void setDropMode(DropMode dropMode)
Устанавливает режим опускания для этого компонента. Для обратной совместимости значение по умолчанию для этого свойства равно DropMode.USE_SELECTION. Тем не менее, для улучшения пользовательского опыта рекомендуется использовать один из других режимов. DropMode.ON, например, предлагает аналогичное поведение, отображая элементы как выбранные, но без влияния на фактическое выделение в дереве.

JTree поддерживает следующие режимы опускания:

  • DropMode.USE_SELECTION
  • DropMode.ON
  • DropMode.INSERT
  • DropMode.ON_OR_INSERT

Режим опускания имеет смысл только если у этого компонента есть TransferHandler, принимающий опускания.

Parameters:
dropMode - режим опускания для использования
Throws:
IllegalArgumentException - если режим опускания не поддерживается или null
Since:
1.6
See Also:
  • getDropMode()
  • getDropLocation()
  • JComponent.setTransferHandler(javax.swing.TransferHandler)
  • TransferHandler

getDropMode

public final DropMode getDropMode()
Возвращает режим опускания для этого компонента.
Returns:
режим опускания для этого компонента
Since:
1.6
See Also:
  • setDropMode(javax.swing.DropMode)

getDropLocation

@BeanProperty(bound=false) public final JTree.DropLocation getDropLocation()
Возвращает расположение, которое этот компонент должен визуально указать как расположение опускания во время операции перетаскивания и перемещения над компонентом, или null, если нет расположения, которое должно быть показано в данный момент.

Этот метод не предназначен для запроса расположения опускания из TransferHandler, так как расположение опускания устанавливается только после того, как TransferHandler's canImport вернул и позволил отобразить расположение.

При изменении этого свойства компонент генерирует событие изменения свойства с именем "dropLocation".

Returns:
расположение опускания
Since:
1.6
See Also:
  • setDropMode(javax.swing.DropMode)
  • TransferHandler.canImport(TransferHandler.TransferSupport)

isPathEditable

public boolean isPathEditable(TreePath path)
Возвращает isEditable. Это вызывается из UI перед началом редактирования для обеспечения возможности редактирования заданного пути. Это предоставляется как точка входа для подклассов для добавления отфильтрованного редактирования без необходимости создания нового редактора.
Parameters:
path - a TreePath, идентифицирующий узел
Returns:
true, если каждый родительский узел и сам узел редактируемы
See Also:
  • isEditable()

getToolTipText

public String getToolTipText(MouseEvent event)
Переопределяет метод JComponent getToolTipText, чтобы разрешить использование подсказок рендерера, если в нём задан текст.

ПРИМЕЧАНИЕ: Чтобы JTree правильно отображали подсказки своих рендереров, ToolTipManager должен быть зарегистрированным компонентом в JTree. Это можно сделать, вызвав ToolTipManager.sharedInstance().registerComponent(tree). Это не делается автоматически!

Overrides:
getToolTipText в классе JComponent
Parameters:
event - the MouseEvent, инициировавший отображение ToolTip
Returns:
строка, содержащая подсказку, или null, если event равно null

convertValueToText

public String convertValueToText(Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)
Вызывается рендерерами для преобразования указанного значения в текст. Эта реализация возвращает value.toString, игнорируя все остальные аргументы. Для управления преобразованием подклассы должны переопределить этот метод и использовать необходимые аргументы.
Parameters:
value - Object, преобразуемый в текст
selected - true, если узел выделен
expanded - true, если узел развёрнут
leaf - true, если узел является листом
row - целое число, определяющее строку отображения узла, где 0 - первая строка в отображении
hasFocus - true, если узел имеет фокус
Returns:
строковое представление значения узла

getRowCount

@BeanProperty(bound=false) public int getRowCount()
Возвращает количество отображаемых узлов. Узел отображается, если все его родительские узлы развёрнуты. Корень включается в это количество только если isRootVisible() равно true. Возвращает 0, если UI не задан.
Returns:
количество отображаемых узлов

setSelectionPath

public void setSelectionPath(TreePath path)
Выделяет узел, идентифицируемый указанным путём. Если любой компонент пути скрыт (под свёрнутым узлом), и getExpandsSelectedPaths равно true, он раскрывается (делается видимым).
Parameters:
path - TreePath, определяющий узел для выделения

setSelectionPaths

public void setSelectionPaths(TreePath[] paths)
Выделяет узлы, идентифицируемые указанным массивом путей. Если любой компонент в любом из путей скрыт (под свёрнутым узлом), и getExpandsSelectedPaths равно true, он раскрывается (делается видимым).
Parameters:
paths - массив объектов TreePath, определяющих узлы для выделения

setLeadSelectionPath

@BeanProperty(description="Lead selection path") public void setLeadSelectionPath(TreePath newPath)
Устанавливает путь, идентифицированный как ведущий. Ведущий не обязательно должен быть выделен. Ведущий не поддерживается JTree, а UI будет обновлять его.

Это свойство привязано.

Parameters:
newPath - новый ведущий путь
Since:
1.3

setAnchorSelectionPath

@BeanProperty(description="Anchor selection path") public void setAnchorSelectionPath(TreePath newPath)
Устанавливает путь, идентифицированный как якорный. Якорный путь не поддерживается JTree, а UI будет обновлять его.

Это свойство привязано.

Parameters:
newPath - новый якорный путь
Since:
1.3

setSelectionRow

public void setSelectionRow(int row)
Выделяет узел в заданной строке отображения.
Parameters:
row - строка для выделения, где 0 - первая строка отображения

setSelectionRows

public void setSelectionRows(int[] rows)
Выбирает узлы, соответствующие каждому из указанных строк в отображении. Если конкретный элемент rows имеет значение < 0 или >= getRowCount, он будет проигнорирован. Если ни один из элементов в rows не является допустимой строкой, выбор будет очищен. То есть, будет так, как если бы был вызван clearSelection.
Parameters:
rows - массив целых чисел, определяющих строки для выбора, где 0 обозначает первую строку в отображении

addSelectionPath

public void addSelectionPath(TreePath path)
Добавляет узел, идентифицируемый указанным TreePath, к текущему выбору. Если какой-либо компонент пути не отображается, и getExpandsSelectedPaths имеет значение true, он делается видимым.

Обратите внимание, что JTree не позволяет иметь дубликаты узлов в качестве дочерних элементов под одним родителем — каждый соседний элемент должен быть уникальным объектом.

Parameters:
path - путь TreePath для добавления

addSelectionPaths

public void addSelectionPaths(TreePath[] paths)
Добавляет каждый путь в массиве путей к текущему выбору. Если какой-либо компонент любого из путей не отображается, а getExpandsSelectedPaths имеет значение true, он делается видимым.

Обратите внимание, что JTree не позволяет иметь дубликаты узлов в качестве дочерних элементов под одним родителем — каждый соседний элемент должен быть уникальным объектом.

Parameters:
paths - массив объектов TreePath, определяющих узлы для добавления

addSelectionRow

public void addSelectionRow(int row)
Добавляет путь в указанной строке к текущему выбору.
Parameters:
row - целое число, определяющее строку узла для добавления, где 0 — первая строка в отображении

addSelectionRows

public void addSelectionRows(int[] rows)
Добавляет пути в каждой из указанных строк к текущему выбору.
Parameters:
rows - массив целых чисел, определяющих строки для добавления, где 0 обозначает первую строку в отображении

getLastSelectedPathComponent

@BeanProperty(bound=false) public Object getLastSelectedPathComponent()
Возвращает последнюю компоненту пути выбранного пути. Это удобный метод для getSelectionModel().getSelectionPath().getLastPathComponent(). Это обычно полезно только если выбор содержит один путь.
Returns:
последнюю компоненту пути выбранного пути или null, если ничего не выбрано
See Also:
  • TreePath.getLastPathComponent()

getLeadSelectionPath

public TreePath getLeadSelectionPath()
Возвращает путь, идентифицированный как ведущий.
Returns:
идентифицированный как ведущий путь

getAnchorSelectionPath

public TreePath getAnchorSelectionPath()
Возвращает путь, идентифицированный как якорный.
Returns:
идентифицированный как якорный путь
Since:
1.3

getSelectionPath

public TreePath getSelectionPath()
Возвращает путь к первому выбранному узлу.
Returns:
путь для первого выбранного узла или null, если ничего не выбрано в данный момент

getSelectionPaths

public TreePath[] getSelectionPaths()
Возвращает пути всех выбранных значений.
Returns:
массив объектов TreePath, указывающих на выбранные узлы, или null, если ничего не выбрано в данный момент

getSelectionRows

public int[] getSelectionRows()
Возвращает все выбранные в данный момент строки. Этот метод просто пересылается TreeSelectionModel. Если ничего не выбрано, null или пустой массив будет возвращен, в зависимости от реализации TreeSelectionModel.
Returns:
массив целых чисел, определяющих все выбранные в данный момент строки, где 0 — первая строка в отображении

getSelectionCount

@BeanProperty(bound=false) public int getSelectionCount()
Возвращает количество выбранных узлов.
Returns:
количество выбранных узлов

getMinSelectionRow

@BeanProperty(bound=false) public int getMinSelectionRow()
Возвращает наименьшую выбранную строку. Если выбор пуст или ни один из выбранных путей не отображается, возвращается -1.
Returns:
наименьшая выбранная строка

getMaxSelectionRow

@BeanProperty(bound=false) public int getMaxSelectionRow()
Возвращает наибольшую выбранную строку. Если выбор пуст или ни один из выбранных путей не отображается, возвращается -1.
Returns:
наибольшая выбранная строка

getLeadSelectionRow

@BeanProperty(bound=false) public int getLeadSelectionRow()
Возвращает индекс строки, соответствующий ведущему пути.
Returns:
целое число, задающее индекс строки ведущего пути, где 0 — первая строка в отображении; или -1, если leadPath является null

isPathSelected

public boolean isPathSelected(TreePath path)
Возвращает true, если элемент, идентифицированный путем, в данный момент выбран.
Parameters:
path - путь, идентифицирующий узел
Returns:
true, если узел выбран

isRowSelected

public boolean isRowSelected(int row)
Возвращает true, если узел, идентифицируемый строкой, выбран.
Parameters:
row - целое число, определяющее строку отображения, где 0 — первая строка в отображении
Returns:
true, если узел выбран

getExpandedDescendants

public Enumeration<TreePath> getExpandedDescendants(TreePath parent)
Возвращает массив потомков пути parent, которые в данный момент развернуты. Если parent в данный момент не развернут, это вернет null. Если вы развертываете/сворачиваете узлы во время итерации по возвращенному массиву Enumeration, это может не вернуть все развернутые пути или может вернуть пути, которые больше не развернуты.
Parameters:
parent - путь, который нужно проверить
Returns:
массив потомков parent, или null, если parent в данный момент не развернут

hasBeenExpanded

public boolean hasBeenExpanded(TreePath path)
Возвращает true, если узел, идентифицируемый путем, когда-либо был развернут.
Parameters:
path - путь, идентифицирующий узел
Returns:
true, если узел path когда-либо был развернут

isExpanded

public boolean isExpanded(TreePath path)
Возвращает true, если узел, идентифицируемый путем, в данный момент развернут.
Parameters:
path - путь, определяющий узел для проверки
Returns:
false, если какой-либо из узлов в пути узла свернут, true, если все узлы в пути развернуты

isExpanded

public boolean isExpanded(int row)
Возвращает true, если узел в указанной строке отображения в данный момент развернут.
Parameters:
row - строка для проверки, где 0 — первая строка в отображении
Returns:
true, если узел в данный момент развернут, иначе false

isCollapsed

public boolean isCollapsed(TreePath path)
Возвращает true, если значение, идентифицируемое путем, в данный момент свёрнуто. Возвращает false, если какие-либо из значений в пути в данный момент не отображаются.
Parameters:
path - путь для проверки
Returns:
true, если какой-либо из узлов в пути узла свёрнут, false, если все узлы в пути развернуты

isCollapsed

public boolean isCollapsed(int row)
Возвращает true, если узел в указанной строке отображения свёрнут.
Parameters:
row - строка для проверки, где 0 — первая строка в отображении
Returns:
true, если узел в данный момент свёрнут, иначе false

makeVisible

public void makeVisible(TreePath path)
Обеспечивает, что узел, идентифицированный путем, в настоящее время отображается.
Parameters:
path - путь к узлу, который нужно отобразить

isVisible

public boolean isVisible(TreePath path)
Возвращает true, если значение, идентифицированное путем, в настоящее время отображается, что означает, что это либо корень, либо все его родительские узлы развернуты. В противном случае этот метод возвращает false.
Parameters:
path - TreePath, определяющий узел
Returns:
true, если узел отображается, в противном случае false

getPathBounds

public Rectangle getPathBounds(TreePath path)
Возвращает область, в которую будет нарисован указанный узел. Возвращает null, если какой-либо компонент в пути скрыт (под свернутым родителем).

Примечание:
Этот метод возвращает действительный прямоугольник, даже если указанный узел в данный момент не отображается.

Parameters:
path - TreePath, определяющий узел
Returns:
область, в которой нарисован узел, или null

getRowBounds

public Rectangle getRowBounds(int row)
Возвращает область, в которую будет нарисован узел в указанной строке.
Parameters:
row - строка для рисования, где 0 — первая строка в отображении
Returns:
область, в которую нарисован узел

scrollPathToVisible

public void scrollPathToVisible(TreePath path)
Убеждается, что все компоненты пути в пути развернуты (кроме последнего компонента пути) и прокручивает, так что узел, идентифицированный путем, отображается. Работает только тогда, когда этот JTree содержится в JScrollPane.
Parameters:
path - TreePath, определяющий узел, который нужно отобразить

scrollRowToVisible

public void scrollRowToVisible(int row)
Прокручивает элемент, идентифицируемый строкой, пока он не отобразится. Выполняется минимальное количество прокруток, необходимое для отображения строки. Работает только тогда, когда этот JTree содержится в JScrollPane.
Parameters:
row - целое число, определяющее строку для прокрутки, где 0 — первая строка в отображении

getPathForRow

@BeanProperty(bound=false) public TreePath getPathForRow(int row)
Возвращает путь для указанной строки. Если row не отображается или TreeUI не задано, возвращается null.
Parameters:
row - целое число, определяющее строку
Returns:
путь к указанному узлу, null, если row < 0 или row >= getRowCount()

getRowForPath

public int getRowForPath(TreePath path)
Возвращает строку, в которой отображается узел, идентифицированный указанным путем.
Parameters:
path - TreePath, определяющий узел
Returns:
целое число, определяющее строку отображения, где 0 — первая строка в отображении, или -1, если какой-либо из элементов в пути скрыт под свернутым родителем.

expandPath

public void expandPath(TreePath path)
Убеждается, что узел, идентифицированный указанным путем, развернут и отображается. Если последний элемент в пути — лист, это не повлияет.
Parameters:
path - TreePath, определяющий узел

expandRow

public void expandRow(int row)
Убеждается, что узел в указанной строке развернут и отображается.

Если row меньше 0 или больше или равно getRowCount, это не повлияет.

Parameters:
row - целое число, определяющее строку отображения, где 0 — первая строка в отображении

collapsePath

public void collapsePath(TreePath path)
Убеждается, что узел, идентифицированный указанным путем, свернут и отображается.
Parameters:
path - TreePath, определяющий узел

collapseRow

public void collapseRow(int row)
Убеждается, что узел в указанной строке свернут.

Если row меньше 0 или больше или равно getRowCount, это не повлияет.

Parameters:
row - целое число, определяющее строку отображения, где 0 — первая строка в отображении

getPathForLocation

public TreePath getPathForLocation(int x, int y)
Возвращает путь к узлу в указанном месте.
Parameters:
x - целое число, задающее количество пикселей по горизонтали от левого края области отображения, за вычетом левой отступов
y - целое число, задающее количество пикселей по вертикали от верхней границы области отображения, за вычетом верхнего отступа
Returns:
путь к узлу в этом месте

getRowForLocation

public int getRowForLocation(int x, int y)
Возвращает строку для указанного расположения.
Parameters:
x - целое число, задающее количество пикселей по горизонтали от левого края области отображения, за вычетом левой отступов
y - целое число, задающее количество пикселей по вертикали от верхней границы области отображения, за вычетом верхнего отступа
Returns:
строка, соответствующая расположению, или -1, если расположение не находится в пределах границ отображаемой ячейки
See Also:
  • getClosestRowForLocation(int, int)

getClosestPathForLocation

public TreePath getClosestPathForLocation(int x, int y)
Возвращает путь к узлу, который наиболее близок к x, y. Если в настоящее время не отображаются узлы или нет модели, возвращает null, в противном случае всегда возвращает корректный путь. Чтобы проверить, находится ли узел точно по координатам x, y, получите границы узла и проверьте x, y относительно них.
Parameters:
x - целое число, задающее количество пикселей по горизонтали от левого края области отображения, за вычетом левой отступов
y - целое число, задающее количество пикселей по вертикали от верхней границы области отображения, за вычетом верхнего отступа
Returns:
путь к узлу, наиболее близкому к этому расположению, null, если ничего не отображается или нет модели
See Also:
  • getPathForLocation(int, int)
  • getPathBounds(javax.swing.tree.TreePath)

getClosestRowForLocation

public int getClosestRowForLocation(int x, int y)
Возвращает строку узла, который наиболее близок к x, y. Если не отображаются узлы или нет модели, возвращает -1. В противном случае всегда возвращает корректную строку. Чтобы проверить, находится ли возвращаемый объект точно по координатам x, y, получите границы узла в возвращенной строке и проверьте x, y относительно них.
Parameters:
x - целое число, задающее количество пикселей по горизонтали от левого края области отображения, за вычетом левой отступов
y - целое число, задающее количество пикселей по вертикали от верхней границы области отображения, за вычетом верхнего отступа
Returns:
строка, ближайшая к расположению, -1, если ничего не отображается или нет модели
See Also:
  • getRowForLocation(int, int)
  • getRowBounds(int)

isEditing

@BeanProperty(bound=false) public boolean isEditing()
Возвращает true, если дерево находится в режиме редактирования. Элемент, который редактируется, можно получить с помощью getSelectionPath.
Returns:
true, если пользователь в настоящее время редактирует узел
See Also:
  • getSelectionPath()

stopEditing

public boolean stopEditing()
Завершает текущую сессию редактирования. (Объект DefaultTreeCellEditor сохраняет все текущие изменения в ячейке. Другие реализации могут работать по-разному.) Не имеет эффекта, если дерево не редактируется.
Примечание:
Чтобы сделать сохранение изменений автоматическим при изменении позиции пользователя в дереве, используйте setInvokesStopCellEditing(boolean).
Returns:
true, если редактирование было в процессе и теперь остановлено, false, если редактирование не было в процессе

cancelEditing

public void cancelEditing()
Отменяет текущую сессию редактирования. Не имеет эффекта, если дерево не редактируется.

startEditingAtPath

public void startEditingAtPath(TreePath path)
Выбирает узел, идентифицированный заданным путем, и инициирует редактирование. Попытка редактирования завершается неудачей, если CellEditor не разрешает редактирование для указанного элемента.
Parameters:
path - the TreePath, определяющий узел

getEditingPath

@BeanProperty(bound=false) public TreePath getEditingPath()
Возвращает путь к элементу, который в настоящее время редактируется.
Returns:
the TreePath для узла, который редактируется

setSelectionModel

@BeanProperty(description="The tree's selection model.") public void setSelectionModel(TreeSelectionModel selectionModel)
Устанавливает модель выделения дерева. При указании значения null используется пустая selectionModel, которая не разрешает выделения.

Это свойство привязки.

Parameters:
selectionModel - the TreeSelectionModel для использования, или null для отключения выделений
See Also:
  • TreeSelectionModel

getSelectionModel

public TreeSelectionModel getSelectionModel()
Возвращает модель для выделений. Это всегда должно возвращать ненулевое значение null. Если вы не хотите разрешать выделения, установите модель выделения на null, что принудительно использует пустую модель выделения.
Returns:
the model for selections
See Also:
  • setSelectionModel(javax.swing.tree.TreeSelectionModel)

getPathBetweenRows

protected TreePath[] getPathBetweenRows(int index0, int index1)
Возвращает пути (включительно) между указанными строками. Если указанные индексы находятся в видимом наборе строк или ограничивают видимый набор строк, тогда индексы ограничиваются видимым набором строк. Если указанные индексы не находятся в видимом наборе строк или не ограничивают видимый набор строк, то возвращается пустой массив. Например, если количество строк равно 10, и этот метод вызывается с -1, 20, тогда указанные индексы ограничиваются видимым набором строк, и это обрабатывается как если бы он был вызван с 0, 9. С другой стороны, если это было вызвано с -10, -1, тогда указанные индексы не ограничивают видимый набор строк, и возвращается пустой массив.

Параметры не зависят от порядка. То есть, getPathBetweenRows(x, y) эквивалентно getPathBetweenRows(y, x).

Возвращается пустой массив, если количество строк равно 0 или указанные индексы не ограничивают видимый набор строк.

Parameters:
index0 - the first index in the range
index1 - the last index in the range
Returns:
the paths (inclusive) between the specified row indices

setSelectionInterval

public void setSelectionInterval(int index0, int index1)
Выделяет строки в указанном интервале (включительно). Если указанные индексы находятся в видимом наборе строк или ограничивают видимый набор строк, то указанные строки ограничиваются видимым набором строк. Если указанные индексы не находятся в видимом наборе строк или не ограничивают видимый набор строк, то выделение очищается. Например, если количество строк равно 10, и этот метод вызывается с -1, 20, тогда указанные индексы ограничивают видимый диапазон, и это обрабатывается как если бы это был вызван с 0, 9. С другой стороны, если это было вызвано с -10, -1, тогда указанные индексы не ограничивают видимый набор строк, и выделение очищается.

Параметры не зависят от порядка. То есть, setSelectionInterval(x, y) эквивалентно setSelectionInterval(y, x).

Parameters:
index0 - the first index in the range to select
index1 - the last index in the range to select

addSelectionInterval

public void addSelectionInterval(int index0, int index1)
Добавляет указанные строки (включительно) к выделению. Если указанные индексы находятся в видимом наборе строк или ограничивают видимый набор строк, то указанные индексы ограничиваются видимым набором строк. Если индексы не находятся в видимом наборе строк или не ограничивают видимый набор строк, то выделение не изменяется. Например, если количество строк равно 10, и этот метод вызывается с -1, 20, тогда указанные индексы ограничивают видимый диапазон, и это обрабатывается как если бы это был вызван с 0, 9. С другой стороны, если это было вызвано с -10, -1, тогда указанные индексы не ограничивают видимый набор строк, и выделение не изменяется.

Параметры не зависят от порядка. То есть, addSelectionInterval(x, y) эквивалентно addSelectionInterval(y, x).

Parameters:
index0 - the first index in the range to add to the selection
index1 - the last index in the range to add to the selection

removeSelectionInterval

public void removeSelectionInterval(int index0, int index1)
Удаляет указанные строки (включительно) из выделения. Если указанные индексы находятся в видимом наборе строк или ограничивают видимый набор строк, то указанные индексы ограничиваются видимым набором строк. Если указанные индексы не находятся в видимом наборе строк или не ограничивают видимый набор строк, то выделение не изменяется. Например, если количество строк равно 10, и этот метод вызывается с -1, 20, тогда указанный диапазон ограничивает видимый диапазон, и это обрабатывается как если бы это был вызван с 0, 9. С другой стороны, если это было вызвано с -10, -1, тогда указанный диапазон не ограничивает видимый набор строк, и выделение не изменяется.

Параметры не зависят от порядка. То есть, removeSelectionInterval(x, y) эквивалентно removeSelectionInterval(y, x).

Parameters:
index0 - the first row to remove from the selection
index1 - the last row to remove from the selection

removeSelectionPath

public void removeSelectionPath(TreePath path)
Удаляет узел, идентифицированный заданным путем, из текущего выделения.
Parameters:
path - the TreePath, identifying a node

removeSelectionPaths

public void removeSelectionPaths(TreePath[] paths)
Удаляет узлы, идентифицированные указанными путями, из текущего выделения.
Parameters:
paths - an array of TreePath objects that specifies the nodes to remove

removeSelectionRow

public void removeSelectionRow(int row)
Удаляет строку по индексу row из текущего выделения.
Parameters:
row - the row to remove

removeSelectionRows

public void removeSelectionRows(int[] rows)
Удаляет строки, выделенные в указанных строках.
Parameters:
rows - an array of ints specifying display rows, where 0 is the first row in the display

clearSelection

public void clearSelection()
Очищает выделение.

isSelectionEmpty

@BeanProperty(bound=false) public boolean isSelectionEmpty()
Возвращает true, если выделение в настоящее время пусто.
Returns:
true if the selection is currently empty

addTreeExpansionListener

public void addTreeExpansionListener(TreeExpansionListener tel)
Добавляет слушатель для событий TreeExpansion.
Parameters:
tel - a TreeExpansionListener that will be notified when a tree node is expanded or collapsed (a "negative expansion")

removeTreeExpansionListener

public void removeTreeExpansionListener(TreeExpansionListener tel)
Удаляет слушателя для событий TreeExpansion.
Parameters:
tel - the TreeExpansionListener to remove

getTreeExpansionListeners

@BeanProperty(bound=false) public TreeExpansionListener[] getTreeExpansionListeners()
Возвращает массив всех слушателей TreeExpansionListener, добавленных к этому JTree с помощью addTreeExpansionListener().
Returns:
all of the TreeExpansionListeners added or an empty array if no listeners have been added
Since:
1.4

addTreeWillExpandListener

public void addTreeWillExpandListener(TreeWillExpandListener tel)
Добавляет слушателя для событий TreeWillExpand.
Parameters:
tel - a TreeWillExpandListener that will be notified when a tree node will be expanded or collapsed (a "negative expansion")

removeTreeWillExpandListener

public void removeTreeWillExpandListener(TreeWillExpandListener tel)
Удаляет слушателя для событий TreeWillExpand.
Parameters:
tel - удаляемый слушатель TreeWillExpandListener

getTreeWillExpandListeners

@BeanProperty(bound=false) public TreeWillExpandListener[] getTreeWillExpandListeners()
Возвращает массив всех слушателей TreeWillExpandListener, добавленных в этот JTree с помощью addTreeWillExpandListener().
Returns:
все добавленные слушатели TreeWillExpandListener или пустой массив, если слушатели не добавлены
Since:
1.4

fireTreeExpanded

public void fireTreeExpanded(TreePath path)
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. Экземпляр события создаётся лениво с использованием параметра path.
Parameters:
path - TreePath, указывающий на узел, который был развернут
See Also:
  • EventListenerList

fireTreeCollapsed

public void fireTreeCollapsed(TreePath path)
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. Экземпляр события создаётся лениво с использованием параметра path.
Parameters:
path - TreePath, указывающий на узел, который был свёрнут
See Also:
  • EventListenerList

fireTreeWillExpand

public void fireTreeWillExpand(TreePath path) throws ExpandVetoException
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. Экземпляр события создаётся лениво с использованием параметра path.
Parameters:
path - TreePath, указывающий на узел, который должен быть развернут
Throws:
ExpandVetoException - если развертывание предотвращено
See Also:
  • EventListenerList

fireTreeWillCollapse

public void fireTreeWillCollapse(TreePath path) throws ExpandVetoException
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. Экземпляр события создаётся лениво с использованием параметра path.
Parameters:
path - TreePath, указывающий на узел, который должен быть свёрнут
Throws:
ExpandVetoException - если сжатие предотвращено
See Also:
  • EventListenerList

addTreeSelectionListener

public void addTreeSelectionListener(TreeSelectionListener tsl)
Добавляет слушателя событий TreeSelection.
Parameters:
tsl - слушатель TreeSelectionListener, который будет уведомлён при выборе или отмене выбора узла

removeTreeSelectionListener

public void removeTreeSelectionListener(TreeSelectionListener tsl)
Удаляет слушателя TreeSelection.
Parameters:
tsl - слушатель TreeSelectionListener для удаления

getTreeSelectionListeners

@BeanProperty(bound=false) public TreeSelectionListener[] getTreeSelectionListeners()
Возвращает массив всех слушателей TreeSelectionListener, добавленных в этот JTree с помощью addTreeSelectionListener().
Returns:
все добавленные слушатели TreeSelectionListener или пустой массив, если слушатели не добавлены
Since:
1.4

fireValueChanged

protected void fireValueChanged(TreeSelectionEvent e)
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события.
Parameters:
e - событие TreeSelectionEvent, которое необходимо сгенерировать; генерируется TreeSelectionModel при выборе или отмене выбора узла
See Also:
  • EventListenerList

treeDidChange

public void treeDidChange()
Вызывается, когда дерево изменилось настолько, что требуется пересчитать размеры, но недостаточно для удаления набора развернутых узлов (например, узлы были развернуты или свёрнуты, или узлы были вставлены в дерево). Вам никогда не нужно вызывать это, UI вызовет это по мере необходимости.

setVisibleRowCount

@BeanProperty(description="The number of rows that are to be displayed.") public void setVisibleRowCount(int newCount)
Устанавливает количество отображаемых строк. Это будет работать только если дерево содержится в JScrollPane, и будет корректировать предпочтительный размер и размер этого полотна прокрутки.

Это свойство привязано.

Parameters:
newCount - количество строк для отображения

getVisibleRowCount

public int getVisibleRowCount()
Возвращает количество отображаемых строк в области отображения.
Returns:
количество отображаемых строк

getNextMatch

public TreePath getNextMatch(String prefix, int startingRow, Position.Bias bias)
Возвращает TreePath для следующего элемента дерева, начинающегося с префикса. Для обработки преобразования TreePath в строку используется convertValueToText.
Parameters:
prefix - строка для проверки соответствия
startingRow - строка для начала поиска
bias - направление поиска, либо Position.Bias.Forward, либо Position.Bias.Backward.
Returns:
TreePath следующего элемента дерева, начинающегося с префикса; в противном случае null
Throws:
IllegalArgumentException - если префикс равен null или стартовая строка выходит за пределы
Since:
1.4

getPreferredScrollableViewportSize

@BeanProperty(bound=false) public Dimension getPreferredScrollableViewportSize()
Возвращает предпочтительный размер отображения для JTree. Высота определяется из getVisibleRowCount, а ширина — текущей предпочтительной шириной.
Specified by:
getPreferredScrollableViewportSize в интерфейсе Scrollable
Returns:
объект Dimension, содержащий предпочтительный размер
See Also:
  • JComponent.getPreferredSize()

getScrollableUnitIncrement

public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
Возвращает величину приращения при прокрутке. Величина равна высоте первой отображаемой строки, которая не полностью находится в области просмотра, или, если она полностью отображается, высоте следующей строки в направлении прокрутки.
Specified by:
getScrollableUnitIncrement в интерфейсе Scrollable
Parameters:
visibleRect - видимая область просмотра
orientation - либо SwingConstants.VERTICAL, либо SwingConstants.HORIZONTAL
direction - меньше нуля для прокрутки вверх/влево, больше нуля для вниз/вправо
Returns:
"единичное" приращение для прокрутки в указанном направлении
See Also:
  • JScrollBar.setUnitIncrement(int)

getScrollableBlockIncrement

public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
Возвращает значение приращения блока, которое равно высоте или ширине visibleRect, основанной на orientation.
Specified by:
getScrollableBlockIncrement в интерфейсе Scrollable
Parameters:
visibleRect - видимая область просмотра
orientation - либо SwingConstants.VERTICAL, либо SwingConstants.HORIZONTAL
direction - меньше нуля для прокрутки вверх/влево, больше нуля для вниз/вправо.
Returns:
"блочное" приращение для прокрутки в указанном направлении
See Also:
  • JScrollBar.setBlockIncrement(int)

getScrollableTracksViewportWidth

@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()
Возвращает false, чтобы указать, что ширина области просмотра не определяет ширину таблицы, если предпочтительная ширина дерева меньше ширины области просмотра. Другими словами: убедитесь, что дерево никогда не меньше области просмотра.
Specified by:
getScrollableTracksViewportWidth in interface Scrollable
Returns:
следует ли дереву отслеживать ширину области просмотра
See Also:
  • Scrollable.getScrollableTracksViewportWidth()

getScrollableTracksViewportHeight

@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()
Возвращает false, чтобы указать, что высота области просмотра не определяет высоту таблицы, если предпочтительная высота дерева меньше высоты области просмотра. Другими словами: убедитесь, что дерево никогда не меньше области просмотра.
Specified by:
getScrollableTracksViewportHeight in interface Scrollable
Returns:
следует ли дереву отслеживать высоту области просмотра
See Also:
  • Scrollable.getScrollableTracksViewportHeight()

setExpandedState

protected void setExpandedState(TreePath path, boolean state)
Устанавливает состояние развертывания этого JTree. Если state имеет значение true, все родительские элементы path и пути отмечаются как развернутые. Если state имеет значение false, все родительские элементы path отмечаются как РАЗВЕРНУТЫЕ, но сам path отмечается как свернутый.

Это может не сработать, если TreeWillExpandListener это запретит.

Parameters:
path - путь, определяющий узел
state - если true, все родительские элементы path и пути отмечаются как развернутые. В противном случае все родительские элементы path отмечаются как РАЗВЕРНУТЫЕ, но сам path отмечается как свернутый.

getDescendantToggledPaths

protected Enumeration<TreePath> getDescendantToggledPaths(TreePath parent)
Возвращает список Enumeration TreePaths, которые были развернуты и являются потомками parent.
Parameters:
parent - путь
Returns:
список Enumeration TreePaths

removeDescendantToggledPaths

protected void removeDescendantToggledPaths(Enumeration<TreePath> toRemove)
Удаляет любые потомки TreePaths в toRemove, которые были развернуты.
Parameters:
toRemove - перечисление путей для удаления; значение null игнорируется
Throws:
ClassCastException - если toRemove содержит элемент, который не является TreePath; значения null игнорируются

clearToggledPaths

protected void clearToggledPaths()
Очищает кэш развернутых путей дерева. Это НЕ отправляет какие-либо TreeExpansionListener события.

createTreeModelListener

protected TreeModelListener createTreeModelListener()
Создаёт и возвращает экземпляр TreeModelHandler. Возвращаемый объект отвечает за обновление состояния развертывания, когда изменяется TreeModel.

Для более подробной информации о том, что означает состояние развертывания, см. JTree description выше.

Returns:
экземпляр TreeModelHandler

removeDescendantSelectedPaths

protected boolean removeDescendantSelectedPaths(TreePath path, boolean includePath)
Удаляет любые пути в выделении, которые являются потомками path. Если includePath имеет значение true и path выделен, он будет удалён из выделения.
Parameters:
path - путь
includePath - если true и path выделен, он будет удалён из выделения.
Returns:
true, если потомок был выбран
Since:
1.3

paramString

protected String paramString()
Возвращает строковое представление этого JTree. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут отличаться между реализациями. Возвращаемая строка может быть пустой, но не null.
Overrides:
paramString in class JComponent
Returns:
строковое представление этого JTree.

getAccessibleContext

@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этим JTree. Для JTree AccessibleContext имеет вид AccessibleJTree. Новый экземпляр AccessibleJTree создаётся при необходимости.
Specified by:
getAccessibleContext in interface Accessible
Overrides:
getAccessibleContext in class Component
Returns:
AccessibleJTree, используемый как AccessibleContext этого JTree

© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/JTree.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API