Класс 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
Конкретный узел дерева можно идентифицировать либо по 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. Текущая поддержка сериализации подходит для кратковременного хранения или 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 |
Возвращает JTree, где каждый элемент указанного массива является потомком нового корневого узла, который не отображается. |
JTree |
Возвращает JTree, созданный из Hashtable, который не отображается с корнем. |
JTree |
Возвращает JTree, где каждый элемент указанного Vector является потомком нового корневого узла, который не отображается. |
JTree |
Возвращает экземпляр JTree, который отображает корневой узел — дерево создается с использованием указанной модели данных. |
JTree |
Возвращает JTree с указанным TreeNode в качестве корня, который отображает корневой узел. |
JTree |
Возвращает JTree с указанным TreeNode в качестве корня, который отображает корневой узел и который определяет, является ли узел листом, указанным способом. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addSelectionInterval |
Добавляет указанные строки (включительно) в выделение. |
void |
addSelectionPath |
Добавляет узел, идентифицированный указанным TreePath, в текущее выделение. |
void |
addSelectionPaths |
Добавляет каждый путь в массиве путей в текущее выделение. |
void |
addSelectionRow |
Добавляет путь в указанной строке в текущее выделение. |
void |
addSelectionRows |
Добавляет пути в каждой из указанных строк в текущее выделение. |
void |
addTreeExpansionListener |
Добавляет прослушиватель для событий TreeExpansion. |
void |
addTreeSelectionListener |
Добавляет прослушиватель для событий TreeSelection. |
void |
addTreeWillExpandListener |
Добавляет прослушиватель для событий TreeWillExpand. |
void |
cancelEditing() |
Отменяет текущий сеанс редактирования. |
void |
clearSelection() |
Очищает выделение. |
protected void |
clearToggledPaths() |
Очищает кэш переключаемых путей дерева. |
void |
collapsePath |
Обеспечивает свернутость и видимость узла, идентифицированного указанным путем. |
void |
collapseRow |
Обеспечивает свернутость узла в указанной строке. |
String |
convertValueToText |
Вызывается средствами визуализации для преобразования указанного значения в текст. |
protected static TreeModel |
createTreeModel |
Возвращает TreeModel, оборачивающий указанный объект. |
protected TreeModelListener |
createTreeModelListener() |
Создает и возвращает экземпляр TreeModelHandler. |
void |
expandPath |
Обеспечивает раскрытие и видимость узла, идентифицированного указанным путем. |
void |
expandRow |
Обеспечивает раскрытие и видимость узла в указанной строке. |
void |
fireTreeCollapsed |
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. |
void |
fireTreeExpanded |
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. |
void |
fireTreeWillCollapse |
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. |
void |
fireTreeWillExpand |
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. |
protected void |
fireValueChanged |
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. |
AccessibleContext |
getAccessibleContext() |
Получает AccessibleContext, связанный с этим JTree. |
TreePath |
getAnchorSelectionPath() |
Возвращает путь, идентифицированный как якорь. |
TreeCellEditor |
getCellEditor() |
Возвращает редактор, используемый для редактирования записей в дереве. |
TreeCellRenderer |
getCellRenderer() |
Возвращает текущий TreeCellRenderer, который отображает каждую ячейку. |
TreePath |
getClosestPathForLocation |
Возвращает путь к узлу, ближайшему к x,y. |
int |
getClosestRowForLocation |
Возвращает строку к узлу, ближайшему к x,y. |
protected static TreeModel |
getDefaultTreeModel() |
Создает и возвращает образец TreeModel. |
protected Enumeration |
getDescendantToggledPaths |
Возвращает Enumeration TreePaths, которые были развернуты и являются потомками parent. |
boolean |
getDragEnabled() |
Возвращает, включена ли автоматическая обработка перетаскивания. |
final JTree.DropLocation |
getDropLocation() |
Возвращает местоположение, которое этот компонент должен визуально указывать как место перетаскивания во время операции DnD над компонентом, или null, если в настоящее время не следует отображать местоположение. |
final DropMode |
getDropMode() |
Возвращает режим перетаскивания для этого компонента. |
TreePath |
getEditingPath() |
Возвращает путь к элементу, который в настоящее время редактируется. |
Enumeration |
getExpandedDescendants |
Возвращает Enumeration потомков пути parent, которые в настоящее время развернуты. |
boolean |
getExpandsSelectedPaths() |
Возвращает свойство expandsSelectedPaths. |
boolean |
getInvokesStopCellEditing() |
Возвращает индикатор, указывающий, что происходит при прерывании редактирования. |
Object |
getLastSelectedPathComponent() |
Возвращает последний компонент пути выбранного пути. |
TreePath |
getLeadSelectionPath() |
Возвращает путь, идентифицированный как ведущий. |
int |
getLeadSelectionRow() |
Возвращает индекс строки, соответствующий ведущему пути. |
int |
getMaxSelectionRow() |
Возвращает самую большую выбранную строку. |
int |
getMinSelectionRow() |
Возвращает самую маленькую выбранную строку. |
TreeModel |
getModel() |
Возвращает TreeModel, который предоставляет данные. |
TreePath |
getNextMatch |
Возвращает TreePath к следующему элементу дерева, который начинается с префикса. |
protected TreePath[] |
getPathBetweenRows |
Возвращает пути (включительно) между указанными строками. |
Rectangle |
getPathBounds |
Возвращает Rectangle, в который будет нарисован указанный узел. |
TreePath |
getPathForLocation |
Возвращает путь для узла в указанном местоположении. |
TreePath |
getPathForRow |
Возвращает путь для указанной строки. |
Dimension |
getPreferredScrollableViewportSize() |
Возвращает предпочтительный размер отображения JTree. |
Rectangle |
getRowBounds |
Возвращает Rectangle, в котором нарисован узел в указанной строке. |
int |
getRowCount() |
Возвращает количество видимых узлов. |
int |
getRowForLocation |
Возвращает строку для указанного местоположения. |
int |
getRowForPath |
Возвращает строку, отображающую узел, идентифицированный указанным путем. |
int |
getRowHeight() |
Возвращает высоту каждой строки. |
int |
getScrollableBlockIncrement |
Возвращает величину для блочного инкремента, которая представляет собой высоту или ширину visibleRect, в зависимости от orientation. |
boolean |
getScrollableTracksViewportHeight() |
Возвращает false, указывая, что высота видового экрана не определяет высоту таблицы, если предпочтительная высота дерева меньше высоты видового экрана. |
boolean |
getScrollableTracksViewportWidth() |
Возвращает false, указывая, что ширина видового экрана не определяет ширину таблицы, если предпочтительная ширина дерева меньше ширины видового экрана. |
int |
getScrollableUnitIncrement |
Возвращает величину инкремента при прокрутке. |
boolean |
getScrollsOnExpand() |
Возвращает значение свойства scrollsOnExpand. |
int |
getSelectionCount() |
Возвращает количество выделенных узлов. |
TreeSelectionModel |
getSelectionModel() |
Возвращает модель для выделенных элементов. |
TreePath |
getSelectionPath() |
Возвращает путь к первому выделенному узлу. |
TreePath[] |
getSelectionPaths() |
Возвращает пути всех выделенных значений. |
int[] |
getSelectionRows() |
Возвращает все текущие выделенные строки. |
boolean |
getShowsRootHandles() |
Возвращает значение свойства showsRootHandles. |
int |
getToggleClickCount() |
Возвращает количество щелчков мышью, необходимых для раскрытия или закрытия узла. |
String |
getToolTipText |
Переопределяет метод 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 |
Возвращает true, если узел, идентифицированный путем, когда-либо был раскрыт. |
boolean |
isCollapsed |
Возвращает true, если узел в указанной строке отображения свёрнут. |
boolean |
isCollapsed |
Возвращает true, если значение, идентифицированное путем, в данный момент свёрнуто, это вернёт false, если какие-либо из значений в пути в данный момент не отображаются. |
boolean |
isEditable() |
Возвращает true, если дерево редактируемо. |
boolean |
isEditing() |
Возвращает true, если дерево находится в состоянии редактирования. |
boolean |
isExpanded |
Возвращает true, если узел в указанной строке отображения в данный момент раскрыт. |
boolean |
isExpanded |
Возвращает true, если узел, идентифицированный путем, в данный момент раскрыт. |
boolean |
isFixedRowHeight() |
Возвращает true, если высота каждой строки отображения имеет фиксированный размер. |
boolean |
isLargeModel() |
Возвращает true, если дерево настроено для большой модели данных. |
boolean |
isPathEditable |
Возвращает isEditable. |
boolean |
isPathSelected |
Возвращает true, если элемент, идентифицированный путем, в данный момент выбран. |
boolean |
isRootVisible() |
Возвращает true, если корневой узел дерева отображается. |
boolean |
isRowSelected |
Возвращает true, если узел, идентифицированный строкой, выбран. |
boolean |
isSelectionEmpty() |
Возвращает true, если выбор в данный момент пуст. |
boolean |
isVisible |
Возвращает true, если значение, определённое путём, в настоящее время отображается, что означает, что это либо корень, либо все его родительские элементы раскрыты. |
void |
makeVisible |
Обеспечивает, чтобы узел, определённый путём, был в данный момент отображаем. |
protected String |
paramString() |
Возвращает строковое представление этого JTree. |
protected boolean |
removeDescendantSelectedPaths |
Удаляет любые пути в выборе, которые являются потомками path. |
protected void |
removeDescendantToggledPaths |
Удаляет всех потомков TreePaths в toRemove, которые были раскрыты. |
void |
removeSelectionInterval |
Удаляет указанные строки (включительно) из выбора. |
void |
removeSelectionPath |
Удаляет узел, идентифицированный указанным путем, из текущего выбора. |
void |
removeSelectionPaths |
Удаляет узлы, идентифицированные указанными массивами путей, из текущего выбора. |
void |
removeSelectionRow |
Удаляет строку с индексом row из текущего выбора. |
void |
removeSelectionRows |
Удаляет строки, выбранные в каждой из указанных строк. |
void |
removeTreeExpansionListener |
Удаляет слушателя событий TreeExpansion. |
void |
removeTreeSelectionListener |
Удаляет слушателя TreeSelection. |
void |
removeTreeWillExpandListener |
Удаляет слушателя событий TreeWillExpand. |
void |
scrollPathToVisible |
Убеждается, что все компоненты пути в пути раскрыты (кроме последнего компонента пути) и прокручивает так, чтобы узел, идентифицированный путем, отображался. |
void |
scrollRowToVisible |
Прокручивает элемент, идентифицированный строкой, пока он не отобразится. |
void |
setAnchorSelectionPath |
Устанавливает путь, идентифицированный как якорь. |
void |
setCellEditor |
Устанавливает редактор ячейки. |
void |
setCellRenderer |
Устанавливает TreeCellRenderer, который будет использоваться для отрисовки каждой ячейки. |
void |
setDragEnabled |
Включает или выключает автоматическую обработку перетаскивания. |
final void |
setDropMode |
Устанавливает режим выгрузки для этого компонента. |
void |
setEditable |
Определяет, является ли дерево редактируемым. |
protected void |
setExpandedState |
Устанавливает состояние раскрытия этого JTree. |
void |
setExpandsSelectedPaths |
Настраивает свойство expandsSelectedPaths. |
void |
setInvokesStopCellEditing |
Определяет, что произойдёт при прерывании редактирования выбором другого узла в дереве, изменении данных дерева или по другим причинам. |
void |
setLargeModel |
Определяет, будет ли пользовательский интерфейс использовать большую модель данных. |
void |
setLeadSelectionPath |
Устанавливает путь, идентифицированный как ведущий. |
void |
setModel |
Устанавливает TreeModel, который будет предоставлять данные. |
void |
setRootVisible |
Определяет, будет ли корневой узел из TreeModel отображаться. |
void |
setRowHeight |
Устанавливает высоту каждой ячейки в пикселях. |
void |
setScrollsOnExpand |
Устанавливает свойство scrollsOnExpand, которое определяет, может ли дерево прокручиваться для отображения ранее скрытых дочерних элементов. |
void |
setSelectionInterval |
Выбирает строки в указанном интервале (включительно). |
void |
setSelectionModel |
Устанавливает модель выбора дерева. |
void |
setSelectionPath |
Выбирает узел, идентифицированный указанным путем. |
void |
setSelectionPaths |
Выбирает узлы, идентифицированные указанным массивом путей. |
void |
setSelectionRow |
Выбирает узел в указанной строке отображения. |
void |
setSelectionRows |
Выбирает узлы, соответствующие каждому из указанных строк в отображении. |
void |
setShowsRootHandles |
Устанавливает значение свойства showsRootHandles, которое определяет, должны ли отображаться обработчики узлов. |
void |
setToggleClickCount |
Устанавливает количество щелчков мыши перед тем, как узел будет развернут или свернут. |
void |
setUI |
Устанавливает объект L&F, который отображает этот компонент. |
void |
setVisibleRowCount |
Устанавливает количество строк для отображения. |
void |
startEditingAtPath |
Выбирает узел, идентифицированный указанным путем, и инициирует редактирование. |
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
Подробное описание полей
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
showsRootHandles
protected boolean showsRootHandles
Маркер — это небольшой значок, отображаемый рядом с узлом, позволяющий пользователю щелкнуть один раз, чтобы развернуть или свернуть узел. В распространенных интерфейсах для узла, который можно развернуть, отображается знак «плюс» (+), а для узла, который можно свернуть, — знак «минус» (-). Маркеры всегда отображаются для узлов ниже верхнего уровня.
Если параметр rootVisible указывает на отображение корневого узла, то это единственный узел на верхнем уровне. Если корневой узел не отображается, все его дочерние узлы находятся на верхнем уровне дерева. Маркеры всегда отображаются для узлов, отличных от верхнего.
Если корневой узел не виден, рекомендуется установить это значение в true. В противном случае дерево будет выглядеть точно как список, и пользователи могут не знать, что «элементы списка» фактически являются узлами дерева.
- См. также:
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
- См. также:
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:
ANCHOR_SELECTION_PATH_PROPERTY
public static final String ANCHOR_SELECTION_PATH_PROPERTY
- Since:
- 1.3
- See Also:
EXPANDS_SELECTED_PATHS_PROPERTY
public static final String EXPANDS_SELECTED_PATHS_PROPERTY
- Since:
- 1.3
- See Also:
Подробное описание конструкторов
JTree
public JTree()
JTree с образцовой моделью. Модель по умолчанию, используемая деревом, определяет конечный узел как любой узел без дочерних элементов.- See Also:
JTree
public JTree(Object[] value)
JTree, где каждый элемент указанного массива является дочерним элементом нового корневого узла, который не отображается. По умолчанию дерево определяет конечный узел как любой узел без дочерних элементов.- Parameters:
-
value- массивObject - See Also:
JTree
public JTree(Vector<?> value)
JTree, где каждый элемент указанного Vector является дочерним элементом нового корневого узла, который не отображается. По умолчанию дерево определяет конечный узел как любой узел без дочерних элементов.- Parameters:
-
value-Vector - See Also:
JTree
public JTree(Hashtable<?,?> value)
JTree, созданный из Hashtable, который не отображается с корнем. Каждая часть значения пар ключ/значение в HashTable становится дочерним элементом нового корневого узла. По умолчанию дерево определяет конечный узел как любой узел без дочерних элементов.- Parameters:
-
value-Hashtable - See Also:
JTree
public JTree(TreeNode root)
JTree с указанным TreeNode в качестве корня, который отображает корневой узел. По умолчанию дерево определяет конечный узел как любой узел без дочерних элементов.- Parameters:
-
root- объектTreeNode - See Also:
JTree
public JTree(TreeNode root, boolean asksAllowsChildren)
JTree с указанным TreeNode в качестве корня, который отображает корневой узел и который определяет, является ли узел конечным узлом указанным образом.- Parameters:
-
root- объектTreeNode -
asksAllowsChildren- если false, любой узел без дочерних элементов является конечным узлом; если true, только узлы, которые не допускают дочерних элементов, являются конечными узлами - See Also:
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()
- 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)
Это связанное свойство.
- Parameters:
-
ui- объект L&FTreeUI - See Also:
updateUI
public void updateUI()
UIManager о том, что L&F изменился. Заменяет текущий объект UI на последнюю версию из UIManager.- Overrides:
-
updateUIв классеJComponent - See Also:
getUIClassID
@BeanProperty(bound=false) public String getUIClassID()
- Overrides:
-
getUIClassIDв классеJComponent - Returns:
- строка "TreeUI"
- See Also:
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()
- 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()
- Returns:
- true, если корневой узел дерева отображается
- See Also:
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:
setShowsRootHandles
@BeanProperty(description="Whether the node handles are to be displayed.") public void setShowsRootHandles(boolean newValue)
showsRootHandles, которое определяет, должны ли отображаться маркеры узла. Значение по умолчанию зависит от конструктора, использованного для создания JTree. Некоторые стили отображения могут не поддерживать маркеры; они проигнорируют это свойство. Это свойство привязано.
- Parameters:
-
newValue-true, если маркеры корня должны отображаться; в противном случае,false - See Also:
getShowsRootHandles
public boolean getShowsRootHandles()
showsRootHandles.- Returns:
- значение свойства
showsRootHandles - See Also:
setRowHeight
@BeanProperty(description="The height of each cell.") public void setRowHeight(int rowHeight)
Это свойство привязано.
- Parameters:
-
rowHeight- высота каждой ячейки в пикселях
getRowHeight
public int getRowHeight()
- Returns:
- высота каждой строки
isFixedRowHeight
@BeanProperty(bound=false) public boolean isFixedRowHeight()
- Returns:
- true, если высота каждой строки имеет фиксированный размер
setLargeModel
@BeanProperty(description="Whether the UI should use a large model.") public void setLargeModel(boolean newValue)
Это свойство привязано.
- Parameters:
-
newValue- true, чтобы указать UI на большую модель - See Also:
isLargeModel
public boolean isLargeModel()
- Returns:
- true, если большая модель предложена
- See Also:
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:
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
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:
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:
getDragEnabled
public boolean getDragEnabled()
- Returns:
- значение свойства
dragEnabled - Since:
- 1.4
- See Also:
setDropMode
public final void setDropMode(DropMode dropMode)
DropMode.USE_SELECTION. Тем не менее, для улучшения пользовательского опыта рекомендуется использовать один из других режимов. DropMode.ON, например, предлагает аналогичное поведение, отображая элементы как выбранные, но без влияния на фактическое выделение в дереве. JTree поддерживает следующие режимы опускания:
DropMode.USE_SELECTIONDropMode.ONDropMode.INSERTDropMode.ON_OR_INSERT
Режим опускания имеет смысл только если у этого компонента есть TransferHandler, принимающий опускания.
- Parameters:
-
dropMode- режим опускания для использования - Throws:
-
IllegalArgumentException- если режим опускания не поддерживается илиnull - Since:
- 1.6
- See Also:
getDropMode
public final DropMode getDropMode()
- Returns:
- режим опускания для этого компонента
- Since:
- 1.6
- See Also:
getDropLocation
@BeanProperty(bound=false) public final JTree.DropLocation getDropLocation()
null, если нет расположения, которое должно быть показано в данный момент. Этот метод не предназначен для запроса расположения опускания из TransferHandler, так как расположение опускания устанавливается только после того, как TransferHandler's canImport вернул и позволил отобразить расположение.
При изменении этого свойства компонент генерирует событие изменения свойства с именем "dropLocation".
- Returns:
- расположение опускания
- Since:
- 1.6
- See Also:
isPathEditable
public boolean isPathEditable(TreePath path)
isEditable. Это вызывается из UI перед началом редактирования для обеспечения возможности редактирования заданного пути. Это предоставляется как точка входа для подклассов для добавления отфильтрованного редактирования без необходимости создания нового редактора.- Parameters:
-
path- aTreePath, идентифицирующий узел - Returns:
- true, если каждый родительский узел и сам узел редактируемы
- See Also:
getToolTipText
public String getToolTipText(MouseEvent event)
JComponent getToolTipText, чтобы разрешить использование подсказок рендерера, если в нём задан текст. ПРИМЕЧАНИЕ: Чтобы JTree правильно отображали подсказки своих рендереров, ToolTipManager должен быть зарегистрированным компонентом в JTree. Это можно сделать, вызвав ToolTipManager.sharedInstance().registerComponent(tree). Это не делается автоматически!
- Overrides:
-
getToolTipTextв классеJComponent - Parameters:
-
event- theMouseEvent, инициировавший отображение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:
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)
- Parameters:
-
path- путь, идентифицирующий узел - Returns:
- true, если узел выбран
isRowSelected
public boolean isRowSelected(int row)
- 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)
- Parameters:
-
path- путь, идентифицирующий узел - Returns:
- true, если узел
pathкогда-либо был развернут
isExpanded
public boolean isExpanded(TreePath path)
- Parameters:
-
path- путь, определяющий узел для проверки - Returns:
- false, если какой-либо из узлов в пути узла свернут, true, если все узлы в пути развернуты
isExpanded
public boolean isExpanded(int row)
- Parameters:
-
row- строка для проверки, где 0 — первая строка в отображении - Returns:
- true, если узел в данный момент развернут, иначе false
isCollapsed
public boolean isCollapsed(TreePath path)
- Parameters:
-
path- путь для проверки - Returns:
- true, если какой-либо из узлов в пути узла свёрнут, false, если все узлы в пути развернуты
isCollapsed
public boolean isCollapsed(int row)
- Parameters:
-
row- строка для проверки, где 0 — первая строка в отображении - Returns:
- true, если узел в данный момент свёрнут, иначе false
makeVisible
public void makeVisible(TreePath path)
- Parameters:
-
path- путь к узлу, который нужно отобразить
isVisible
public boolean isVisible(TreePath path)
- 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:
getClosestPathForLocation
public TreePath getClosestPathForLocation(int x, int y)
null, в противном случае всегда возвращает корректный путь. Чтобы проверить, находится ли узел точно по координатам x, y, получите границы узла и проверьте x, y относительно них.- Parameters:
-
x- целое число, задающее количество пикселей по горизонтали от левого края области отображения, за вычетом левой отступов -
y- целое число, задающее количество пикселей по вертикали от верхней границы области отображения, за вычетом верхнего отступа - Returns:
- путь к узлу, наиболее близкому к этому расположению,
null, если ничего не отображается или нет модели - See Also:
getClosestRowForLocation
public int getClosestRowForLocation(int x, int y)
- Parameters:
-
x- целое число, задающее количество пикселей по горизонтали от левого края области отображения, за вычетом левой отступов -
y- целое число, задающее количество пикселей по вертикали от верхней границы области отображения, за вычетом верхнего отступа - Returns:
- строка, ближайшая к расположению, -1, если ничего не отображается или нет модели
- See Also:
isEditing
@BeanProperty(bound=false) public boolean isEditing()
getSelectionPath.- Returns:
- true, если пользователь в настоящее время редактирует узел
- See Also:
stopEditing
public boolean stopEditing()
DefaultTreeCellEditor сохраняет все текущие изменения в ячейке. Другие реализации могут работать по-разному.) Не имеет эффекта, если дерево не редактируется. Примечание:
Чтобы сделать сохранение изменений автоматическим при изменении позиции пользователя в дереве, используйтеsetInvokesStopCellEditing(boolean).
- Returns:
- true, если редактирование было в процессе и теперь остановлено, false, если редактирование не было в процессе
cancelEditing
public void cancelEditing()
startEditingAtPath
public void startEditingAtPath(TreePath path)
CellEditor не разрешает редактирование для указанного элемента.- Parameters:
-
path- theTreePath, определяющий узел
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- theTreeSelectionModelдля использования, илиnullдля отключения выделений - See Also:
getSelectionModel
public TreeSelectionModel getSelectionModel()
null. Если вы не хотите разрешать выделения, установите модель выделения на null, что принудительно использует пустую модель выделения.- Returns:
- the model for selections
- See Also:
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- theTreePath, identifying a node
removeSelectionPaths
public void removeSelectionPaths(TreePath[] paths)
- Parameters:
-
paths- an array ofTreePathobjects 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()
- 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- theTreeExpansionListenerto 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- aTreeWillExpandListenerthat 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:
fireTreeCollapsed
public void fireTreeCollapsed(TreePath path)
path.- Parameters:
-
path-TreePath, указывающий на узел, который был свёрнут - See Also:
fireTreeWillExpand
public void fireTreeWillExpand(TreePath path) throws ExpandVetoException
path.- Parameters:
-
path-TreePath, указывающий на узел, который должен быть развернут - Throws:
-
ExpandVetoException- если развертывание предотвращено - See Also:
fireTreeWillCollapse
public void fireTreeWillCollapse(TreePath path) throws ExpandVetoException
path.- Parameters:
-
path-TreePath, указывающий на узел, который должен быть свёрнут - Throws:
-
ExpandVetoException- если сжатие предотвращено - See Also:
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:
treeDidChange
public void treeDidChange()
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 в строку используется 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:
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:
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:
getScrollableTracksViewportWidth
@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()
- Specified by:
-
getScrollableTracksViewportWidthin interfaceScrollable - Returns:
- следует ли дереву отслеживать ширину области просмотра
- See Also:
getScrollableTracksViewportHeight
@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()
- Specified by:
-
getScrollableTracksViewportHeightin interfaceScrollable - Returns:
- следует ли дереву отслеживать высоту области просмотра
- See Also:
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:
- список
EnumerationTreePaths
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:
-
paramStringin classJComponent - Returns:
- строковое представление этого
JTree.
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
- Specified by:
-
getAccessibleContextin interfaceAccessible - Overrides:
-
getAccessibleContextin classComponent - 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