Класс JList<E>
- Type Parameters:
E- тип элементов этого списка
- Все реализованные интерфейсы:
-
ImageObserver,MenuContainer,Serializable,Accessible,Scrollable
@JavaBean(defaultProperty="UI", description="A component which allows for the selection of one or more objects from a list.") public class JList<E> extends JComponent implements Scrollable, Accessible
ListModel, хранит содержимое списка. Легко отобразить массив или Vector объектов, используя конструктор JList, который автоматически создаёт для вас экземпляр списка для чтения только для просмотра:
// Create a JList that displays strings from an array
String[] data = {"one", "two", "three", "four"};
JList<String> myList = new JList<String>(data);
// Create a JList that displays the superclasses of JList.class, by
// creating it with a Vector populated with this data
Vector<Class<?>> superClasses = new Vector<Class<?>>();
Class<JList> rootClass = javax.swing.JList.class;
for(Class<?> cls = rootClass; cls != null; cls = cls.getSuperclass()) {
superClasses.addElement(cls);
}
JList<Class<?>> myList = new JList<Class<?>>(superClasses);
// The automatically created model is stored in JList's "model"
// property, which you can retrieve
ListModel<Class<?>> model = myList.getModel();
for(int i = 0; i < model.getSize(); i++) {
System.out.println(model.getElementAt(i));
}
Модель ListModel может быть предоставлена напрямую JList через конструктор или метод setModel. Содержимое не обязательно статическое - количество элементов и значения элементов могут изменяться со временем. Правильная реализация ListModel уведомляет набор javax.swing.event.ListDataListener, которые были добавлены к нему каждый раз, когда происходит изменение. Эти изменения характеризуются javax.swing.event.ListDataEvent, которая определяет диапазон индексов списка, которые были изменены, добавлены или удалены. JList's ListUI отвечает за сохранение визуального представления в актуальном состоянии с изменениями, прослушивая модель.
Простые приложения с динамическим содержимым, JList, могут использовать класс DefaultListModel для управления элементами списка. Этот класс реализует интерфейс ListModel и также предоставляет интерфейс, похожий на java.util.Vector. Приложения, которым требуется более настраиваемая реализация ListModel, могут вместо этого наследоваться от AbstractListModel, который предоставляет базовую поддержку управления и уведомления слушателей. Например, реализация AbstractListModel, которая доступна только для чтения:
// This list model has about 2^16 elements. Enjoy scrolling.
ListModel<String> bigData = new AbstractListModel<String>() {
public int getSize() { return Short.MAX_VALUE; }
public String getElementAt(int index) { return "Index " + index; }
};
Состояние выбора JList управляется другой отдельной моделью, экземпляром ListSelectionModel. JList инициализируется с моделью выбора при построении и также содержит методы для запроса или установки этой модели выбора. Кроме того, JList предоставляет удобные методы для лёгкого управления выбором. Эти методы, такие как setSelectedIndex и getSelectedValue, являются общими методами, которые заботятся о взаимодействии с моделью выбора. По умолчанию, модель выбора JList настроена так, чтобы допускать любой набор элементов для выбора в данный момент; режим выбора MULTIPLE_INTERVAL_SELECTION. Режим выбора может быть изменён непосредственно на модели выбора или через общие методы JList. Ответственность за обновление модели выбора в ответ на жесты пользователя лежит на ListUI списка.
Правильная реализация ListSelectionModel уведомляет набор javax.swing.event.ListSelectionListener, которые были добавлены к нему каждый раз, когда происходит изменение выбора. Эти изменения характеризуются javax.swing.event.ListSelectionEvent, которая определяет диапазон изменения выбора.
Предпочтительный способ прослушивания изменений выбора списка — добавление ListSelectionListener напрямую в JList. JList затем заботится о прослушивании модели выбора и уведомлении ваших слушателей об изменениях.
Ответственность за прослушивание изменений выбора, чтобы визуальное представление списка оставалось актуальным, лежит на ListUI списка.
Рисование ячеек в JList обрабатывается делегатом, называемым рендерером ячейки, установленным в списке как свойство cellRenderer. Рендерер предоставляет java.awt.Component, который используется как «штамп» для рисования ячеек. Каждый раз, когда ячейка должна быть нарисована, ListUI списка запрашивает у рендера ячейки компонент, переместит его на место и заставит его нарисовать содержимое ячейки с помощью метода paint. По умолчанию рендерер ячеек, использующий компонент JLabel для рендеринга, устанавливается ListUI списка. Вы можете заменить свой собственный рендерер с помощью кода подобного этому:
// Display an icon and a string for each object in the list.
class MyCellRenderer extends JLabel implements ListCellRenderer<Object> {
static final ImageIcon longIcon = new ImageIcon("long.gif");
static final ImageIcon shortIcon = new ImageIcon("short.gif");
// This is the only method defined by ListCellRenderer.
// We just reconfigure the JLabel each time we're called.
public Component getListCellRendererComponent(
JList<?> list, // the list
Object value, // value to display
int index, // cell index
boolean isSelected, // is the cell selected
boolean cellHasFocus) // does the cell have focus
{
String s = value.toString();
setText(s);
setIcon((s.length() > 10) ? longIcon : shortIcon);
if (isSelected) {
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
} else {
setBackground(list.getBackground());
setForeground(list.getForeground());
}
setEnabled(list.isEnabled());
setFont(list.getFont());
setOpaque(true);
return this;
}
}
myList.setCellRenderer(new MyCellRenderer());
Ещё одна задача рендера ячейки — помощь в определении информации о размерах списка. По умолчанию, ListUI списка определяет размер ячеек, запрашивая предпочтительный размер для каждого элемента списка. Это может быть дорого для больших списков. Чтобы избежать этих вычислений, вы можете установить fixedCellWidth и fixedCellHeight в списке или иметь эти значения рассчитанными автоматически на основе одного прототипа:
JList<String> bigDataList = new JList<String>(bigData);
// We don't want the JList implementation to compute the width
// or height of all of the list cells, so we give it a string
// that's as big as we'll need for any cell. It uses this to
// compute values for the fixedCellWidth and fixedCellHeight
// properties.
bigDataList.setPrototypeCellValue("Index 1234567890");
JList не реализует прокрутку напрямую. Чтобы создать список, который прокручивается, сделайте его представлением области просмотра JScrollPane. Например:
JScrollPane scrollPane = new JScrollPane(myList); // Or in two steps: JScrollPane scrollPane = new JScrollPane(); scrollPane.getViewport().setView(myList);
JList не предоставляет специальной обработки двойных или тройных (или N) нажатий мыши, но легко добавить MouseListener, если вы хотите выполнить действия по этим событиям. Используйте метод locationToIndex, чтобы определить, какая ячейка была нажата. Например:
MouseListener mouseListener = new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
int index = list.locationToIndex(e.getPoint());
System.out.println("Double clicked on Item " + index);
}
}
};
list.addMouseListener(mouseListener);
Предупреждение: Swing не потокобезопасен. Для получения дополнительной информации см. Политику потоков Swing.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с 1.4, поддержка долговременного хранения всех JavaBeans была добавлена в пакет java.beans. Пожалуйста, обратитесь к XMLEncoder.
См. Как использовать списки в Руководстве по Java для дополнительной документации.
- С:
- 1.2
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
protected class |
JList.AccessibleJList |
Этот класс реализует поддержку доступности для класса JList. |
static final class |
JList.DropLocation |
Подкласс TransferHandler.DropLocation, представляющий место разрыва для JList. |
Вложенные классы/интерфейсы, объявленные в классе javax.swing.JComponent
JComponent.AccessibleJComponent
Вложенные классы/интерфейсы, объявленные в классе java.awt.Container
Container.AccessibleAWTContainer
Вложенные классы/интерфейсы, объявленные в классе java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
HORIZONTAL_WRAP |
Указывает на макет «в стиле газеты» с ячейками, переходящими по горизонтали, а затем по вертикали. |
static final int |
VERTICAL |
Указывает на вертикальный макет ячеек в одном столбце; макет по умолчанию. |
static final int |
VERTICAL_WRAP |
Указывает на макет «в стиле газеты» с ячейками, переходящими по вертикали, а затем по горизонтали. |
Поля, объявленные в классе 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
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
JList() |
Создаёт JList с пустой, доступной только для чтения, моделью. |
JList |
Создаёт JList, отображающий элементы в указанном массиве. |
JList |
Создаёт JList, отображающий элементы в указанном Vector. |
JList |
Создаёт JList, отображающий элементы из указанной, non-null, модели. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
void |
addListSelectionListener |
Добавляет слушателя в список, для получения уведомлений каждый раз, когда изменяется выбор; предпочтительный способ прослушивания изменений состояния выбора. |
void |
addSelectionInterval |
Устанавливает выбор в объединение заданного интервала с текущим выбором. |
void |
clearSelection() |
Очищает выбор; после вызова этого метода, isSelectionEmpty вернёт true. |
protected ListSelectionModel |
createSelectionModel() |
Возвращает экземпляр DefaultListSelectionModel; вызывается во время построения для инициализации свойства модели выбора списка. |
void |
ensureIndexIsVisible |
Прокручивает список внутри окружающего области просмотра, чтобы сделать указанную ячейку полностью видимой. |
protected void |
fireSelectionValueChanged |
Уведомляет ListSelectionListener, добавленные непосредственно в список, о изменениях, внесённых в модель выбора. |
AccessibleContext |
getAccessibleContext() |
Получает AccessibleContext, связанный с этим JList. |
int |
getAnchorSelectionIndex() |
Возвращает индекс якоря выбора. |
Rectangle |
getCellBounds |
Возвращает прямоугольник границ, в системе координат списка, для диапазона ячеек, заданных двумя индексами. |
ListCellRenderer |
getCellRenderer() |
Возвращает объект, ответственный за отрисовку элементов списка. |
boolean |
getDragEnabled() |
Возвращает, включена ли автоматическая обработка перетаскивания. |
final JList.DropLocation |
getDropLocation() |
Возвращает расположение, которое этот компонент должен визуально указывать как расположение выгрузки во время операции перетаскивания над компонентом, или null, если расположение в данный момент не должно отображаться. |
final DropMode |
getDropMode() |
Возвращает режим выгрузки для этого компонента. |
int |
getFirstVisibleIndex() |
Возвращает наименьший индекс элемента списка, который в настоящее время виден. |
int |
getFixedCellHeight() |
Возвращает значение свойства fixedCellHeight. |
int |
getFixedCellWidth() |
Возвращает значение свойства fixedCellWidth. |
int |
getLastVisibleIndex() |
Возвращает наибольший индекс элемента списка, который в настоящее время виден. |
int |
getLayoutOrientation() |
Возвращает свойство ориентации макета для списка: VERTICAL, если макет представляет собой один столбец ячеек; VERTICAL_WRAP, если макет имеет "стиль газеты" с вертикальным, а затем горизонтальным потоком содержимого; или HORIZONTAL_WRAP, если макет имеет "стиль газеты" с горизонтальным, а затем вертикальным потоком содержимого. |
int |
getLeadSelectionIndex() |
Возвращает индекс ведущего выбора. |
ListSelectionListener[] |
getListSelectionListeners() |
Возвращает массив всех ListSelectionListener, добавленных к этому JList через addListSelectionListener. |
int |
getMaxSelectionIndex() |
Возвращает наибольший индекс выбранной ячейки или -1, если выбор пуст. |
int |
getMinSelectionIndex() |
Возвращает наименьший индекс выбранной ячейки или -1, если выбор пуст. |
ListModel |
getModel() |
Возвращает модель данных, которая содержит список элементов, отображаемых компонентом JList. |
int |
getNextMatch |
Возвращает следующий элемент списка, значение toString которого начинается с заданного префикса. |
Dimension |
getPreferredScrollableViewportSize() |
Вычисляет размер области просмотра, необходимой для отображения visibleRowCount строк. |
E |
getPrototypeCellValue() |
Возвращает "прототипное" значение ячейки — значение, используемое для расчёта фиксированной ширины и высоты ячеек. |
int |
getScrollableBlockIncrement |
Возвращает расстояние для прокрутки, чтобы отобразить следующий или предыдущий блок. |
boolean |
getScrollableTracksViewportHeight() |
Возвращает true, если этот JList отображается в JViewport, и область просмотра выше, чем предпочтительная высота списка, или если ориентация макета — VERTICAL_WRAP и visibleRowCount <= 0; в противном случае возвращает false. |
boolean |
getScrollableTracksViewportWidth() |
Возвращает true, если этот JList отображается в JViewport, и область просмотра шире, чем предпочтительная ширина списка, или если ориентация макета — HORIZONTAL_WRAP и visibleRowCount <= 0; в противном случае возвращает false. |
int |
getScrollableUnitIncrement |
Возвращает расстояние для прокрутки, чтобы отобразить следующую или предыдущую строку (для вертикальной прокрутки) или столбец (для горизонтальной прокрутки). |
int |
getSelectedIndex() |
Возвращает наименьший индекс выбранной ячейки; выбор, когда в списке выбран только один элемент. |
int[] |
getSelectedIndices() |
Возвращает массив всех выбранных индексов в порядке возрастания. |
E |
getSelectedValue() |
Возвращает значение для наименьшего индекса выбранной ячейки; выбранное значение, когда в списке выбран только один элемент. |
Object[] |
getSelectedValues() |
Устарело. |
List |
getSelectedValuesList() |
Возвращает список всех выбранных элементов в порядке возрастания на основе их индексов в списке. |
Color |
getSelectionBackground() |
Возвращает цвет, используемый для рисования фона выбранных элементов. |
Color |
getSelectionForeground() |
Возвращает цвет, используемый для рисования переднего плана выбранных элементов. |
int |
getSelectionMode() |
Возвращает текущий режим выбора для списка. |
ListSelectionModel |
getSelectionModel() |
Возвращает текущую модель выбора. |
String |
getToolTipText |
Возвращает текст всплывающей подсказки, который нужно использовать для данного события. |
ListUI |
getUI() |
Возвращает ListUI, объект визуального оформления, который отрисовывает этот компонент. |
String |
getUIClassID() |
Возвращает "ListUI", ключ UIDefaults, используемый для поиска имени класса javax.swing.plaf.ListUI, который определяет визуальное оформление для этого компонента. |
boolean |
getValueIsAdjusting() |
Возвращает значение свойства isAdjusting модели выбора. |
int |
getVisibleRowCount() |
Возвращает значение свойства visibleRowCount. |
Point |
indexToLocation |
Возвращает начало указанного элемента в системе координат списка. |
boolean |
isSelectedIndex |
Возвращает true, если указанный индекс выбран, иначе false. |
boolean |
isSelectionEmpty() |
Возвращает true, если ничего не выбрано, иначе false. |
int |
locationToIndex |
Возвращает индекс ячейки, ближайший к заданному расположению в системе координат списка. |
protected String |
paramString() |
Возвращает представление String этого JList. |
void |
removeListSelectionListener |
Удаляет слушателя выбора из списка. |
void |
removeSelectionInterval |
Устанавливает выбор в разность множеств заданного интервала и текущего выбора. |
void |
setCellRenderer |
Устанавливает делегата, который используется для отрисовки каждой ячейки в списке. |
void |
setDragEnabled |
Включает или выключает автоматическую обработку перетаскивания. |
final void |
setDropMode |
Устанавливает режим выброса для этого компонента. |
void |
setFixedCellHeight |
Устанавливает фиксированное значение для высоты каждой ячейки в списке. |
void |
setFixedCellWidth |
Устанавливает фиксированное значение для ширины каждой ячейки в списке. |
void |
setLayoutOrientation |
Определяет способ отображения ячеек списка. |
void |
setListData |
Создаёт чтение-только ListModel из массива элементов и вызывает setModel с этой моделью. |
void |
setListData |
Создаёт чтение-только ListModel из Vector и вызывает setModel с этой моделью. |
void |
setModel |
Устанавливает модель, представляющую содержимое или «значение» списка, уведомляет слушателей изменений свойств и затем очищает выбор списка. |
void |
setPrototypeCellValue |
Устанавливает свойство prototypeCellValue, а затем (если новое значение является non-null), вычисляет свойства fixedCellWidth и fixedCellHeight, запросив компонент рендеринга ячейки для заданного значения (и индекса 0) у компонента рендеринга ячейки и используя предпочтительный размер этого компонента. |
void |
setSelectedIndex |
Выделяет одну ячейку. |
void |
setSelectedIndices |
Изменяет выделение на набор индексов, указанный в заданном массиве. |
void |
setSelectedValue |
Выделяет указанный объект из списка. |
void |
setSelectionBackground |
Устанавливает цвет, используемый для отрисовки фона выделенных элементов, который компоненты рендеринга ячеек могут использовать для заполнения выделенных ячеек. |
void |
setSelectionForeground |
Устанавливает цвет, используемый для отрисовки переднего плана выделенных элементов, который компоненты рендеринга ячеек могут использовать для рендеринга текста и графики. |
void |
setSelectionInterval |
Выделяет указанный интервал. |
void |
setSelectionMode |
Устанавливает режим выделения для списка. |
void |
setSelectionModel |
Устанавливает selectionModel для списка на не-null ListSelectionModel реализацию. |
void |
setUI |
Устанавливает ListUI, объект оформления, который отображает этот компонент. |
void |
setValueIsAdjusting |
Устанавливает свойство valueIsAdjusting модели выделения. |
void |
setVisibleRowCount |
Устанавливает свойство visibleRowCount, которое имеет различное значение в зависимости от ориентации макета: для ориентации макета VERTICAL это устанавливает предпочтительное количество строк для отображения без необходимости прокрутки; для других ориентаций это влияет на перенос ячеек. |
void |
updateUI() |
Сбрасывает свойство ListUI, установив его в значение, предоставляемое текущим оформлением. |
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
Подробное описание полей
VERTICAL
public static final int VERTICAL
- С момента:
- 1.4
- См. также:
VERTICAL_WRAP
public static final int VERTICAL_WRAP
- С момента:
- 1.4
- См. также:
HORIZONTAL_WRAP
public static final int HORIZONTAL_WRAP
- С момента:
- 1.4
- См. также:
Подробное описание конструкторов
JList
public JList(ListModel<E> dataModel)
JList, отображающий элементы из указанной, non-null, модели. Все JList конструкторы делегируют этому. Этот конструктор регистрирует список в ToolTipManager, что позволяет предоставлять всплывающие подсказки средствами отображения ячеек.
- Параметры:
-
dataModel- модель для списка - Исключения:
-
IllegalArgumentException- если модельnull
JList
public JList(E[] listData)
JList, отображающий элементы в указанном массиве. Этот конструктор создаёт не изменяемую модель для данного массива, а затем делегирует конструктору, принимающему ListModel. Попытки передать null значение в этот метод приводят к неопределённому поведению и, скорее всего, исключениям. Созданная модель ссылается непосредственно на заданный массив. Попытки изменить массив после создания списка приводят к неопределённому поведению.
- Параметры:
-
listData- массив объектов для загрузки в модель данных,non-null
JList
public JList(Vector<? extends E> listData)
JList, отображающий элементы в указанном Vector. Этот конструктор создаёт не изменяемую модель для данного Vector, а затем делегирует конструктору, принимающему ListModel. Попытки передать null значение в этот метод приводят к неопределённому поведению и, скорее всего, исключениям. Созданная модель ссылается непосредственно на заданный Vector. Попытки изменить Vector после создания списка приводят к неопределённому поведению.
- Параметры:
-
listData-Vectorдля загрузки в модель данных,non-null
JList
public JList()
JList с пустой, неизменяемой моделью.Подробное описание методов
getUI
public ListUI getUI()
ListUI, объект внешнего вида и ощущений, который отображает этот компонент.- Переопределяет:
-
getUIв классеJComponent - Возвращает:
- объект
ListUI, который отображает этот компонент
setUI
@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component's LookAndFeel.") public void setUI(ListUI ui)
ListUI, объект внешнего вида и ощущений, который отображает этот компонент.- Параметры:
-
ui- объектListUI - См. также:
updateUI
public void updateUI()
ListUI, установив его в значение, предоставленное текущим внешним видом и ощущениями. Если текущий компонент отображения ячейки был установлен разработчиком (а не самим внешним видом и ощущениями), это также вызывает обновление компонента отображения ячейки и его дочерних элементов, вызвав SwingUtilities.updateComponentTreeUI на нём.- Переопределяет:
-
updateUIв классеJComponent - См. также:
getUIClassID
@BeanProperty(bound=false) public String getUIClassID()
"ListUI", ключ UIDefaults для поиска имени класса javax.swing.plaf.ListUI, который определяет внешний вид и ощущения для этого компонента.- Переопределяет:
-
getUIClassIDв классеJComponent - Возвращает:
- строку "ListUI"
- См. также:
getPrototypeCellValue
public E getPrototypeCellValue()
null, если такого значения нет.- Возвращает:
- значение свойства
prototypeCellValue - См. также:
setPrototypeCellValue
@BeanProperty(visualUpdate=true, description="The cell prototype value, used to compute cell width and height.") public void setPrototypeCellValue(E prototypeCellValue)
prototypeCellValue, а затем (если новое значение non-null), вычисляет свойства fixedCellWidth и fixedCellHeight, запросив компонент отображения ячейки для данного значения (и индекса 0) из компонента отображения ячейки и используя размер по умолчанию этого компонента. Этот метод полезен, когда список слишком длинный, чтобы позволить ListUI вычислить ширину/высоту каждой ячейки, и существует одно значение ячейки, которое известно, занимает столько же места, сколько и любое другое, так называемый прототип.
Хотя все три свойства prototypeCellValue, fixedCellHeight и fixedCellWidth могут быть изменены этим методом, уведомления PropertyChangeEvent отправляются только при изменении свойства prototypeCellValue.
Чтобы увидеть пример установки этого свойства, см. описание класса выше.
Значение по умолчанию этого свойства — null.
Это свойство JavaBeans, связанное с свойством.
- Параметры:
-
prototypeCellValue- значение, на основе которого следует рассчитатьfixedCellWidthиfixedCellHeight - См. также:
getFixedCellWidth
public int getFixedCellWidth()
fixedCellWidth.- Возвращает:
- фиксированная ширина ячейки
- См. также:
setFixedCellWidth
@BeanProperty(visualUpdate=true, description="Defines a fixed cell width when greater than zero.") public void setFixedCellWidth(int width)
width равно -1, ширины ячеек вычисляются в ListUI, применяя getPreferredSize к компоненту отображения ячейки для каждого элемента списка. Значение по умолчанию этого свойства — -1.
Это свойство JavaBeans, связанное с свойством.
- Параметры:
-
width- ширина, которая будет использоваться для всех ячеек в списке - См. также:
getFixedCellHeight
public int getFixedCellHeight()
fixedCellHeight.- Возвращает:
- фиксированная высота ячейки
- См. также:
setFixedCellHeight
@BeanProperty(visualUpdate=true, description="Defines a fixed cell height when greater than zero.") public void setFixedCellHeight(int height)
height равно -1, высота ячеек вычисляется в ListUI, применяя getPreferredSize к компоненту рендера ячейки для каждого элемента списка. Значение по умолчанию для этого свойства равно -1.
Это свойство, привязанное к JavaBeans.
- Parameters:
-
height- высота, которая будет использоваться для всех ячеек в списке - See Also:
getCellRenderer
public ListCellRenderer<? super E> getCellRenderer()
- Returns:
- значение свойства
cellRenderer - See Also:
setCellRenderer
@BeanProperty(visualUpdate=true, description="The component used to draw the cells.") public void setCellRenderer(ListCellRenderer<? super E> cellRenderer)
Если свойство prototypeCellValue равно non-null, установка рендера ячейки также приводит к пересчёту свойств fixedCellWidth и fixedCellHeight. Однако генерируется только один PropertyChangeEvent — для свойства cellRenderer.
Значение по умолчанию для этого свойства предоставляется делегатом ListUI, то есть реализацией темы оформления.
Это свойство, привязанное к JavaBeans.
- Parameters:
-
cellRenderer-ListCellRenderer, который отрисовывает ячейки списка - See Also:
getSelectionForeground
public Color getSelectionForeground()
DefaultListCellRenderer использует этот цвет для отрисовки фонового цвета элементов в выделенном состоянии, как и рендеры, установленные большинством реализаций ListUI.- Returns:
- цвет для отрисовки фонового цвета выделенных элементов
- See Also:
setSelectionForeground
@BeanProperty(visualUpdate=true, description="The foreground color of selected cells.") public void setSelectionForeground(Color selectionForeground)
DefaultListCellRenderer использует этот цвет для отрисовки фонового цвета элементов в выделенном состоянии, как и рендеры, установленные большинством реализаций ListUI. Значение по умолчанию для этого свойства определено реализацией темы оформления.
Это свойство, привязанное к JavaBeans.
- Parameters:
-
selectionForeground- цвет, который будет использован для переднего плана выделенных элементов списка - See Also:
getSelectionBackground
public Color getSelectionBackground()
DefaultListCellRenderer использует этот цвет для отрисовки фона элементов в выделенном состоянии, как и рендеры, установленные большинством реализаций ListUI.- Returns:
- цвет для отрисовки фона выделенных элементов
- See Also:
setSelectionBackground
@BeanProperty(visualUpdate=true, description="The background color of selected cells.") public void setSelectionBackground(Color selectionBackground)
DefaultListCellRenderer использует этот цвет для заполнения фона элементов в выделенном состоянии, как и рендеры, установленные большинством реализаций ListUI. Значение по умолчанию для этого свойства определено реализацией темы оформления.
Это свойство, привязанное к JavaBeans.
- Parameters:
-
selectionBackground- цвет, который будет использован для фона выделенных ячеек - See Also:
getVisibleRowCount
public int getVisibleRowCount()
visibleRowCount. Подробности о том, как интерпретировать это значение, см. в документации для setVisibleRowCount(int).- Returns:
- значение свойства
visibleRowCount. - See Also:
setVisibleRowCount
@BeanProperty(visualUpdate=true, description="The preferred number of rows to display without requiring scrolling") public void setVisibleRowCount(int visibleRowCount)
visibleRowCount, которое имеет разные значения в зависимости от ориентации макета: для ориентации макета VERTICAL это устанавливает предпочтительное количество отображаемых строк без необходимости прокрутки; для других ориентаций это влияет на обёртку ячеек. В ориентации VERTICAL:
Установка этого свойства влияет на возвращаемое значение метода getPreferredScrollableViewportSize(), который используется для вычисления предпочтительного размера вмещающегося окна просмотра. Подробности см. в документации этого метода.
В ориентациях HORIZONTAL_WRAP и VERTICAL_WRAP:
Это влияет на то, как ячейки обрезаются. Подробнее см. в документации setLayoutOrientation(int).
Значение по умолчанию для этого свойства равно 8.
Вызов этого метода с отрицательным значением приводит к установке свойства в 0.
Это свойство, привязанное к JavaBeans.
- Parameters:
-
visibleRowCount- целое число, определяющее предпочтительное количество строк для отображения без необходимости прокрутки - See Also:
getLayoutOrientation
public int getLayoutOrientation()
VERTICAL, если макет представляет собой один столбец ячеек; VERTICAL_WRAP, если макет имеет вид газеты, с содержимым, выравниваемым по вертикали, а затем по горизонтали; или HORIZONTAL_WRAP, если макет имеет вид газеты с содержимым, выравниваемым по горизонтали, а затем по вертикали.- Returns:
- значение свойства
layoutOrientation - Since:
- 1.4
- See Also:
setLayoutOrientation
@BeanProperty(visualUpdate=true, enumerationValues={"JList.VERTICAL","JList.HORIZONTAL_WRAP","JList.VERTICAL_WRAP"}, description="Defines the way list cells are laid out.") public void setLayoutOrientation(int layoutOrientation) JList Ниже приведено описание этих способов вывода:
| Значение | Описание |
|---|---|
VERTICAL |
Ячейки выстраиваются вертикально в один столбец. |
HORIZONTAL_WRAP |
Ячейки выстраиваются горизонтально, переходя на новую строку по необходимости. Если свойство visibleRowCount меньше или равно нулю, перенос на новую строку определяется шириной списка; в противном случае перенос осуществляется таким образом, чтобы гарантировать visibleRowCount строк в списке. |
VERTICAL_WRAP |
Ячейки выстраиваются вертикально, переходя на новый столбец по необходимости. Если свойство visibleRowCount меньше или равно нулю, перенос на новый столбец определяется высотой списка; в противном случае перенос выполняется на visibleRowCount строках. |
VERTICAL.- Параметры:
-
layoutOrientation- новая ориентация вывода, одно из значений:VERTICAL,HORIZONTAL_WRAPилиVERTICAL_WRAP - Исключения:
-
IllegalArgumentException- еслиlayoutOrientationне является одним из разрешенных значений - С момента:
- 1.4
- См. также:
getFirstVisibleIndex
@BeanProperty(bound=false) public int getFirstVisibleIndex()
componentOrientation первом видимым элементом является ячейка, расположенная наиболее близко к верхнему левому углу списка. В правосторонней ориентации — наиболее близко к верхнему правому углу. Если ничего не видно или список пуст, возвращается -1. Обратите внимание, что возвращаемая ячейка может быть только частично видимой.- Возвращает:
- индекс первой видимой ячейки
- См. также:
getLastVisibleIndex
@BeanProperty(bound=false) public int getLastVisibleIndex()
-1. Обратите внимание, что возвращаемая ячейка может быть только частично видимой.- Возвращает:
- индекс последней видимой ячейки
- См. также:
ensureIndexIsVisible
public void ensureIndexIsVisible(int index)
scrollRectToVisible с границами заданной ячейки. Для работы этого метода список должен находиться в JList. Если заданный индекс находится вне диапазона ячеек списка, этот метод не оказывает никакого влияния.
- Параметры:
-
index- индекс ячейки, которую нужно сделать видимой - См. также:
setDragEnabled
@BeanProperty(bound=false, description="determines whether automatic drag handling is enabled") public void setDragEnabled(boolean b)
true, а TransferHandler списка — в non-null. Значение по умолчанию свойства dragEnabled — false. Ответственность за выполнение этого свойства и распознавание жеста перетаскивания пользователя лежит на реализации внешнего вида, а конкретно на реализации ListUI списка. При включённой автоматической обработке перетаскивания большинство реализаций внешнего вида (включая те, что наследуют от BasicLookAndFeel) запускают операцию перетаскивания и перемещения, когда пользователь нажимает кнопку мыши над элементом и затем перемещает мышь на несколько пикселей. Установка этого свойства в значение true может поэтому иметь тонкое влияние на поведение выделений.
Если используется внешнее представление, игнорирующее это свойство, вы по-прежнему можете начать операцию перетаскивания и перемещения, вызвав exportAsDrag на TransferHandler списка.
- Параметры:
-
b- включает или отключает автоматическую обработку перетаскивания - Исключения:
-
HeadlessException- еслиbравноtrueиGraphicsEnvironment.isHeadless()возвращаетtrue - С момента:
- 1.4
- См. также:
getDragEnabled
public boolean getDragEnabled()
- Возвращает:
- значение свойства
dragEnabled - С момента:
- 1.4
- См. также:
setDropMode
public final void setDropMode(DropMode dropMode)
DropMode.USE_SELECTION. Однако рекомендуется использовать один из других режимов для повышения удобства использования. DropMode.ON, например, предлагает аналогичное поведение, отображая элементы как выделенные, но не влияет на фактическое выделение в списке. JList поддерживает следующие режимы выгрузки:
DropMode.USE_SELECTIONDropMode.ONDropMode.INSERTDropMode.ON_OR_INSERT
TransferHandler, принимающий выгрузки.- Параметры:
-
dropMode- используемый режим выгрузки - Исключения:
-
IllegalArgumentException- если режим выгрузки не поддерживается илиnull - С момента:
- 1.6
- См. также:
getDropMode
public final DropMode getDropMode()
- Возвращает:
- режим выгрузки для этого компонента
- С момента:
- 1.6
- См. также:
getDropLocation
@BeanProperty(bound=false) public final JList.DropLocation getDropLocation()
null, если в настоящее время не нужно показывать ни одного расположения. Этот метод не предназначен для запроса расположения выгрузки из TransferHandler, так как расположение выгрузки устанавливается только после того, как TransferHandler's canImport вернул и позволил отобразить это расположение.
При изменении этого свойства компонент генерирует событие изменения свойства с именем "dropLocation".
По умолчанию, ответственность за прослушивание изменений этого свойства и визуальное указание расположения выгрузки лежит на ListUI списка, который может отобразить его непосредственно и/или установить рендерер ячеек для выполнения этой задачи. Разработчики, желающие реализовать пользовательское отображение расположения выгрузки и/или заменить рендерер ячеек по умолчанию, должны учитывать это свойство.
- Возвращает:
- расположение выгрузки
- С момента:
- 1.6
- См. также:
getNextMatch
public int getNextMatch(String prefix, int startIndex, Position.Bias bias)
toString которого начинается с данного префикса.- Параметры:
-
prefix- строка для проверки соответствия -
startIndex- индекс для начала поиска -
bias- направление поиска, либо Position.Bias.Forward, либо Position.Bias.Backward. - Возвращает:
- индекс следующего элемента списка, начинающегося с префикса; в противном случае
-1 - Исключения:
-
IllegalArgumentException- если префиксnullили startIndex выходит за пределы границ - С момента:
- 1.4
getToolTipText
public String getToolTipText(MouseEvent event)
JComponent's getToolTipText, чтобы сначала проверить компонент рендера ячейки для ячейки, над которой произошло событие, вернув его текст подсказки, если таковой имеется. Эта реализация позволяет вам указать текст подсказки на уровне ячейки, используя setToolTipText на вашем компоненте рендера ячейки. Примечание: Для того, чтобы JList корректно отображал подсказки своих рендеров таким образом, JList должен быть зарегистрированным компонентом в ToolTipManager. Эта регистрация выполняется автоматически в конструкторе. Однако, если впоследствии JList будет дезактивирован, посредством вызова setToolTipText(null), подсказки от рендеров больше отображаться не будут.
- Overrides:
-
getToolTipTextв классеJComponent - Параметры:
-
event-MouseEventдля получения текста подсказки - Возвращает:
- строка, содержащая подсказку
- См. также:
locationToIndex
public int locationToIndex(Point location)
getCellBounds. Этот метод возвращает -1, если модель пуста Это метод-обертка, который делегирует вызов методу с таким же названием в ListUI списка. Он возвращает -1, если в списке нет ListUI.
- Параметры:
-
location- координаты точки - Возвращает:
- индекс ячейки, наиболее близкий к заданному расположению, или
-1
indexToLocation
public Point indexToLocation(int index)
null, если индекс недопустим. Это метод-обертка, который делегирует вызов методу с таким же названием в ListUI списка. Он возвращает null, если в списке нет ListUI.
- Параметры:
-
index- индекс ячейки - Возвращает:
- начало ячейки или
null
getCellBounds
public Rectangle getCellBounds(int index0, int index1)
Если меньший индекс находится за пределами диапазона ячеек списка, этот метод возвращает null. Если меньший индекс допустим, но больший индекс находится за пределами диапазона списка, возвращаются границы только первого индекса. В противном случае возвращаются границы допустимого диапазона.
Это метод-обертка, который делегирует вызов методу с таким же названием в ListUI списка. Он возвращает null, если в списке нет ListUI.
- Параметры:
-
index0- первый индекс в диапазоне -
index1- второй индекс в диапазоне - Возвращает:
- прямоугольник, ограничивающий диапазон ячеек, или
null
getModel
public ListModel<E> getModel()
JList.- Возвращает:
ListModel, предоставляющий отображаемый список элементов- См. также:
setModel
@BeanProperty(visualUpdate=true, description="The object that contains the data to be drawn by this JList.") public void setModel(ListModel<E> model)
Это свойство, связанное с JavaBeans.
- Параметры:
-
model-ListModel, предоставляющий список элементов для отображения - Исключения:
-
IllegalArgumentException- еслиmodelявляетсяnull - См. также:
setListData
public void setListData(E[] listData)
ListModel из массива элементов и вызывает setModel с этой моделью. Попытка передать null значение в этот метод приводит к неопределенному поведению и, скорее всего, к исключениям. Созданная модель ссылается на заданный массив напрямую. Попытки изменить массив после вызова этого метода приводят к неопределенному поведению.
- Параметры:
-
listData- массивE, содержащий элементы для отображения в списке - См. также:
setListData
public void setListData(Vector<? extends E> listData)
ListModel из Vector и вызывает setModel с этой моделью. Попытка передать null значение в этот метод приводит к неопределенному поведению и, скорее всего, к исключениям. Созданная модель ссылается на заданный Vector напрямую. Попытки изменить Vector после вызова этого метода приводят к неопределенному поведению.
- Параметры:
-
listData-Vector, содержащий элементы для отображения в списке - См. также:
createSelectionModel
protected ListSelectionModel createSelectionModel()
DefaultListSelectionModel; вызывается во время построения для инициализации свойства модели выделения списка.- Возвращает:
DefaultListSelectionModel, используемый для инициализации свойства модели выделения списка во время построения- См. также:
getSelectionModel
public ListSelectionModel getSelectionModel()
- Возвращает:
ListSelectionModel, которая поддерживает выделения списка- См. также:
fireSelectionValueChanged
protected void fireSelectionValueChanged(int firstIndex, int lastIndex, boolean isAdjusting)
ListSelectionListener, добавленные непосредственно в список, об изменениях, внесенных в модель выделения. JList прослушивает изменения, внесенные в модель выделения, и пересылает уведомление слушателям, добавленным непосредственно в список, вызывая этот метод. Этот метод строит ListSelectionEvent с этим списком в качестве источника и указанными аргументами и отправляет его зарегистрированным ListSelectionListeners.
- Параметры:
-
firstIndex- первый индекс в диапазоне,<= lastIndex -
lastIndex- последний индекс в диапазоне,>= firstIndex -
isAdjusting- является ли это одним из ряда событий, где изменения еще выполняются - См. также:
addListSelectionListener
public void addListSelectionListener(ListSelectionListener listener)
JList следит за изменениями состояния выделения в модели выделения и уведомляет данного слушателя о каждом изменении. ListSelectionEvent, отправленные слушателю, имеют свойство source, установленное для этого списка.- Параметры:
-
listener- добавляемыйListSelectionListener - См. также:
removeListSelectionListener
public void removeListSelectionListener(ListSelectionListener listener)
- Параметры:
-
listener- слушатель выделения для удаления - См. также:
getListSelectionListeners
@BeanProperty(bound=false) public ListSelectionListener[] getListSelectionListeners()
addListSelectionListener.- Возвращает:
- массив всех слушателей выделения в этом списке, или пустой массив, если слушатели не были добавлены
- С:
- 1.4
- См. также:
setSelectionModel
@BeanProperty(description="The selection model, recording which cells are selected.") public void setSelectionModel(ListSelectionModel selectionModel)
null. Модель выделения обрабатывает задачи выделения одиночных элементов, непрерывных диапазонов и несмежных выборов. Это свойство, привязанное к JavaBeans.
- Параметры:
-
selectionModel- модель выделения, реализующая выбранные типы выделения - Исключения:
-
IllegalArgumentException- еслиselectionModelявляетсяnull - См. также:
setSelectionMode
@BeanProperty(bound=false, enumerationValues={"ListSelectionModel.SINGLE_SELECTION","ListSelectionModel.SINGLE_INTERVAL_SELECTION","ListSelectionModel.MULTIPLE_INTERVAL_SELECTION"}, description="The selection mode.") public void setSelectionMode(int selectionMode) Следующий список описывает допустимые режимы выделения:
-
ListSelectionModel.SINGLE_SELECTION- Одновременно может быть выбран только один индекс элемента в списке. В этом режимеsetSelectionIntervalиaddSelectionIntervalэквивалентны, оба заменяют текущее выделение индексом, представленным вторым аргументом (ведущим). -
ListSelectionModel.SINGLE_INTERVAL_SELECTION- Одновременно может быть выделен только один непрерывный интервал. В этом режимеaddSelectionIntervalведет себя какsetSelectionInterval(заменяя текущее выделение), за исключением случаев, когда указанный интервал непосредственно примыкает к существующему выделению или перекрывает его, и может использоваться для расширения выделения. -
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION- В этом режиме нет ограничений на то, что можно выбрать. Этот режим является значением по умолчанию.
- Параметры:
-
selectionMode- режим выделения - Исключения:
-
IllegalArgumentException- если режим выделения не является одним из разрешенных - См. также:
getSelectionMode
public int getSelectionMode()
- Возвращает:
- текущий режим выделения
- См. также:
getAnchorSelectionIndex
@BeanProperty(bound=false) public int getAnchorSelectionIndex()
- Возвращает:
- индекс якоря выделения
- См. также:
getLeadSelectionIndex
@BeanProperty(bound=false, description="The lead selection index.") public int getLeadSelectionIndex()
- Возвращает:
- индекс ведущего выделения
- См. также:
getMinSelectionIndex
@BeanProperty(bound=false) public int getMinSelectionIndex()
-1, если выделение пустое. Это вспомогательный метод, делегирующий вызов методу с таким же именем для модели выделения списка.- Возвращает:
- наименьший индекс выделенного элемента или
-1 - См. также:
getMaxSelectionIndex
@BeanProperty(bound=false) public int getMaxSelectionIndex()
-1, если выделение пустое. Это вспомогательный метод, делегирующий вызов методу с таким же именем для модели выделения списка.- Возвращает:
- наибольший индекс выделенного элемента
- См. также:
isSelectedIndex
public boolean isSelectedIndex(int index)
true, если указанный индекс выделен, в противном случае false. Это вспомогательный метод, делегирующий вызов методу с таким же именем для модели выделения списка.- Параметры:
-
index- индекс, состояние выделения которого требуется запросить - Возвращает:
-
true, если указанный индекс выделен, в противном случаеfalse - См. также:
isSelectionEmpty
@BeanProperty(bound=false) public boolean isSelectionEmpty()
true, если ничего не выделено, в противном случае false. Это вспомогательный метод, делегирующий вызов методу с таким же именем для модели выделения списка.- Возвращает:
-
true, если ничего не выделено, в противном случаеfalse - См. также:
clearSelection
public void clearSelection()
isSelectionEmpty вернёт true. Это вспомогательный метод, делегирующий вызов методу с таким же именем для модели выделения списка.- См. также:
setSelectionInterval
public void setSelectionInterval(int anchor, int lead)
anchor и lead. anchor не обязательно должен быть меньше или равен lead. Это вспомогательный метод, делегирующий вызов методу с таким же именем для модели выделения списка. См. документацию используемой модели выделения для подробной информации о том, как обрабатываются значения, меньшие чем 0.
- Параметры:
-
anchor- первый индекс для выделения -
lead- последний индекс для выделения - См. также:
addSelectionInterval
public void addSelectionInterval(int anchor, int lead)
anchor и lead. anchor не обязательно должен быть меньше или равен lead. Это вспомогательный метод, делегирующий вызов методу с таким же именем для модели выделения списка. См. документацию используемой модели выделения для подробной информации о том, как обрабатываются значения, меньшие чем 0.
- Параметры:
-
anchor- первый индекс для добавления в выделение -
lead- последний индекс для добавления в выделение - См. также:
removeSelectionInterval
public void removeSelectionInterval(int index0, int index1)
index0 и index1 удаляются. index0 не обязательно должно быть меньше или равно index1. Это метод-обёртка, делегирующий вызов методу с таким же именем модели выделения списка. Обратитесь к документации используемого класса модели выделения для получения подробностей о том, как обрабатываются значения, меньшие 0.
- Параметры:
-
index0- первый индекс для удаления из выделения -
index1- последний индекс для удаления из выделения - См. также:
setValueIsAdjusting
public void setValueIsAdjusting(boolean b)
valueIsAdjusting модели выделения. При значении true, предстоящие изменения выделения должны рассматриваться как часть одного изменения. Это свойство используется внутри и разработчикам обычно не требуется вызывать этот метод. Например, при обновлении модели в ответ на перетаскивание пользователем, значение свойства устанавливается в true при инициализации перетаскивания и в false при завершении перетаскивания. Это позволяет слушателям обновляться только тогда, когда изменение завершено, а не обрабатывать все промежуточные значения. Вы можете использовать это напрямую, если выполняете серию изменений, которые должны рассматриваться как часть одного изменения.
Это метод-обёртка, делегирующий вызов методу с таким же именем модели выделения списка. См. документацию ListSelectionModel.setValueIsAdjusting(boolean) для получения более подробной информации.
- Параметры:
-
b- новое значение для свойства - См. также:
getValueIsAdjusting
public boolean getValueIsAdjusting()
isAdjusting модели выделения. Это метод-обёртка, делегирующий вызов методу с таким же именем модели выделения списка.
- Возвращает:
- значение свойства
isAdjustingмодели выделения. - См. также:
getSelectedIndices
public int[] getSelectedIndices()
- Возвращает:
- все выделенные индексы в порядке возрастания или пустой массив, если ничего не выделено
- См. также:
setSelectedIndex
@BeanProperty(bound=false, description="The index of the selected cell.") public void setSelectedIndex(int index)
setSelectionInterval в модели выделения. Обратитесь к документации используемого класса модели выделения для получения подробностей о том, как обрабатываются значения, меньшие 0.- Параметры:
-
index- индекс ячейки для выделения - См. также:
setSelectedIndices
public void setSelectedIndices(int[] indices)
addSelectionInterval в модели выделения для добавления индексов. Обратитесь к документации используемого класса модели выделения для получения подробностей о том, как обрабатываются значения, меньшие 0.- Параметры:
-
indices- массив индексов ячеек для выделения,non-null - Исключения:
-
NullPointerException- если заданный массив являетсяnull - См. также:
getSelectedValues
@Deprecated @BeanProperty(bound=false) public Object[] getSelectedValues()
getSelectedValuesList()
- Возвращает:
- выделенные значения или пустой массив, если ничего не выделено
- См. также:
getSelectedValuesList
@BeanProperty(bound=false) public List<E> getSelectedValuesList()
- Возвращает:
- выделенные элементы или пустой список, если ничего не выделено
- С:
- 1.7
- См. также:
getSelectedIndex
public int getSelectedIndex()
-1, если выделение отсутствует. Этот метод является обёрткой, делегирующей вызов getMinSelectionIndex.
- Возвращает:
- индекс наименьшей выделенной ячейки
- См. также:
getSelectedValue
@BeanProperty(bound=false) public E getSelectedValue()
null, если выделение отсутствует. Это удобный метод, который просто возвращает значение модели для getMinSelectionIndex.
- Возвращает:
- первое выделенное значение
- См. также:
setSelectedValue
public void setSelectedValue(Object anObject, boolean shouldScroll)
null, выделение очищается.- Параметры:
-
anObject- объект для выделения -
shouldScroll-true, если список должен прокрутиться для отображения выделенного объекта, если он существует; в противном случаеfalse
getPreferredScrollableViewportSize
@BeanProperty(bound=false) public Dimension getPreferredScrollableViewportSize()
visibleRowCount строк. Значение, возвращаемое этим методом, зависит от ориентации макета: VERTICAL:
Это тривиально, если оба fixedCellWidth и fixedCellHeight были заданы (явно или путём указания значения прототипа ячейки). Ширина просто равна fixedCellWidth плюс горизонтальные отступы списка. Высота равна fixedCellHeight, умноженной на visibleRowCount, плюс вертикальные отступы списка.
Если либо fixedCellWidth, либо fixedCellHeight не были указаны, используются эвристики. Если модель пустая, ширина равна fixedCellWidth, если больше 0, или жёстко заданному значению 256. Высота равна fixedCellHeight, умноженной на visibleRowCount, если fixedCellHeight больше 0, в противном случае это жёстко заданное значение 16, умноженное на visibleRowCount.
Если модель не пуста, ширина равна ширине предпочтительного размера, обычно ширине самой широкой ячейки списка. Высота равна высоте ячейки с индексом 0, умноженной на visibleRowCount, плюс вертикальные отступы списка.
VERTICAL_WRAP или HORIZONTAL_WRAP:
Этот метод просто возвращает значение из getPreferredSize. Ожидается, что ListUI списка переопределит getPreferredSize, чтобы вернуть соответствующее значение.
- Specified by:
-
getPreferredScrollableViewportSizeв интерфейсеScrollable - Returns:
- размер, содержащий размер области просмотра, необходимой для отображения
visibleRowCountстрок - See Also:
getScrollableUnitIncrement
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
Для горизонтальной прокрутки, если ориентация макета VERTICAL, возвращается размер шрифта списка (или 1, если шрифт null).
- Specified by:
-
getScrollableUnitIncrementв интерфейсеScrollable - Parameters:
-
visibleRect- область просмотра, видимая внутри области просмотра -
orientation-SwingConstants.HORIZONTALилиSwingConstants.VERTICAL -
direction- меньше или равно нулю для прокрутки вверх/назад, больше нуля для прокрутки вниз/вперед - Returns:
- приращение "единицы" для прокрутки в указанном направлении; всегда положительное
- Throws:
-
IllegalArgumentException- еслиvisibleRectравенnullилиorientationне равно одному изSwingConstants.VERTICALилиSwingConstants.HORIZONTAL - See Also:
getScrollableBlockIncrement
public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
Для вертикальной прокрутки используются следующие правила:
- при прокрутке вниз, возвращает расстояние для прокрутки, чтобы последняя видимая ячейка стала первой полностью видимой ячейкой
- при прокрутке вверх, возвращает расстояние для прокрутки, чтобы первая видимая ячейка стала последней полностью видимой ячейкой
- возвращает
visibleRect.height, если список пуст
Для горизонтальной прокрутки, когда ориентация макета VERTICAL_WRAP или HORIZONTAL_WRAP:
- при прокрутке вправо, возвращает расстояние для прокрутки, чтобы последняя видимая ячейка стала первой полностью видимой ячейкой
- при прокрутке влево, возвращает расстояние для прокрутки, чтобы первая видимая ячейка стала последней полностью видимой ячейкой
- возвращает
visibleRect.width, если список пуст
Для горизонтальной прокрутки и ориентации VERTICAL возвращает visibleRect.width.
Обратите внимание, что значение visibleRect должно быть равно this.getVisibleRect().
- Specified by:
-
getScrollableBlockIncrementв интерфейсеScrollable - Parameters:
-
visibleRect- область просмотра, видимая внутри области просмотра -
orientation-SwingConstants.HORIZONTALилиSwingConstants.VERTICAL -
direction- меньше или равно нулю для прокрутки вверх/назад, больше нуля для прокрутки вниз/вперед - Returns:
- приращение "блока" для прокрутки в указанном направлении; всегда положительное
- Throws:
-
IllegalArgumentException- еслиvisibleRectравенnullилиorientationне равно одному изSwingConstants.VERTICALилиSwingConstants.HORIZONTAL - See Also:
getScrollableTracksViewportWidth
@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()
true, если этот JList отображается в JViewport и область просмотра шире, чем предпочтительная ширина списка, или если ориентация макета HORIZONTAL_WRAP и visibleRowCount <= 0; в противном случае возвращает false. Если false, то ширина области просмотра не отслеживается. Это позволяет горизонтальную прокрутку, если сам JViewport вложен в JScrollPane.
- Specified by:
-
getScrollableTracksViewportWidthв интерфейсеScrollable - Returns:
- следует ли включающей области просмотра принудительно устанавливать ширину списка, равную своей собственной
- See Also:
getScrollableTracksViewportHeight
@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()
true, если этот JList отображается в JViewport и область просмотра выше, чем предпочтительная высота списка, или если ориентация макета VERTICAL_WRAP и visibleRowCount <= 0; в противном случае возвращает false. Если false, то высота области просмотра не отслеживается. Это позволяет вертикальную прокрутку, если сам JViewport вложен в JScrollPane.
- Specified by:
-
getScrollableTracksViewportHeightв интерфейсеScrollable - Returns:
- следует ли включающей области просмотра принудительно устанавливать высоту списка, равную своей собственной
- See Also:
paramString
protected String paramString()
JList. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут отличаться между реализациями. Возвращаемая строка может быть пустой, но не может быть null.- Overrides:
-
paramStringв классеJComponent - Returns:
- строковое представление этого
JList.
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
AccessibleContext, связанный с этим JList. Для JList, AccessibleContext принимает форму AccessibleJList. Новый экземпляр AccessibleJList создаётся при необходимости.
- Specified by:
-
getAccessibleContextв интерфейсеAccessible - Overrides:
-
getAccessibleContextв классеComponent - Returns:
AccessibleJList, который служитAccessibleContextэтогоJList
© 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/JList.html
getSelectedValuesList()