Класс 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, который автоматически создаёт для вас экземпляр read-only ListModel:
// 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 и также предоставляет API, похожий на java.util.Vector. Приложения, которые нуждаются в более настраиваемой реализации ListModel, могут вместо этого захотеть наследовать от AbstractListModel, который предоставляет базовую поддержку управления и уведомления слушателей. Например, read-only реализация 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 не реализует прокрутку напрямую. Чтобы создать список с прокруткой, сделайте его viewport-представлением 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 Tutorial для дополнительной документации.
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
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 с пустой, read-only, моделью. |
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<? super E> |
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() |
Возвращает массив всех добавленных к этому JList ListSelectionListener через addListSelectionListener. |
int |
getMaxSelectionIndex() |
Возвращает наибольший индекс выбранной ячейки или -1, если выбор пуст. |
int |
getMinSelectionIndex() |
Возвращает наименьший индекс выбранной ячейки или -1, если выбор пуст. |
ListModel<E> |
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<E> |
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
- Since:
- 1.4
- См. также:
VERTICAL_WRAP
public static final int VERTICAL_WRAP
- Since:
- 1.4
- См. также:
HORIZONTAL_WRAP
public static final int HORIZONTAL_WRAP
- Since:
- 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, объект отображения, который отрисовывает этот компонент.- Overrides:
-
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 на нём.- Overrides:
-
updateUIв классеJComponent - См. также:
getUIClassID
@BeanProperty(bound=false) public String getUIClassID()
"ListUI", ключ UIDefaults, используемый для поиска имени класса javax.swing.plaf.ListUI, который определяет внешний вид для этого компонента.- Overrides:
-
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- цветColorдля использования в переднем плане для выделенных элементов списка - 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-Colorдля использования в качестве фона выделенных ячеек - 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 layed out.") public void setLayoutOrientation(int layoutOrientation) JList Ниже приведено описание этих способов:
| Значение | Описание |
|---|---|
VERTICAL |
Ячейки выстраиваются вертикально в одном столбце. |
HORIZONTAL_WRAP |
Ячейки выстраиваются горизонтально, переходя на новую строку по мере необходимости. Если свойство visibleRowCount меньше или равно нулю, перенос определяется шириной списка; в противном случае перенос выполняется таким образом, чтобы гарантировать visibleRowCount строк в списке. |
VERTICAL_WRAP |
Ячейки выстраиваются вертикально, переходя на новый столбец по мере необходимости. Если свойство visibleRowCount меньше или равно нулю, перенос определяется высотой списка; в противном случае перенос выполняется на visibleRowCount строках. |
VERTICAL.- Parameters:
-
layoutOrientation- новая ориентация макета, одна из:VERTICAL,HORIZONTAL_WRAPилиVERTICAL_WRAP - Throws:
-
IllegalArgumentException- еслиlayoutOrientationне является одним из допустимых значений - Since:
- 1.4
- See Also:
getFirstVisibleIndex
@BeanProperty(bound=false) public int getFirstVisibleIndex()
componentOrientation первая видимая ячейка находится ближе к верхнему левому углу списка. В ориентации справа налево она находится ближе к верхнему правому углу. Если ничего не видно или список пуст, возвращается -1. Обратите внимание, что возвращаемая ячейка может быть только частично видимой.- Returns:
- индекс первой видимой ячейки
- See Also:
getLastVisibleIndex
@BeanProperty(bound=false) public int getLastVisibleIndex()
-1. Обратите внимание, что возвращаемая ячейка может быть только частично видимой.- Returns:
- индекс последней видимой ячейки
- See Also:
ensureIndexIsVisible
public void ensureIndexIsVisible(int index)
scrollRectToVisible с границами указанной ячейки. Для работы этого метода JList должен находиться в JViewport. Если указанный индекс находится за пределами диапазона ячеек списка, этот метод ничего не делает.
- Parameters:
-
index- индекс ячейки, которую нужно сделать видимой - 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. Задача по соблюдению этого свойства и распознаванию жеста перетаскивания пользователя лежит на реализации визуального оформления, а именно на ListUI списка. При включенной автоматической обработке перетаскивания большинство визуальных оформлений (включая те, которые наследуются от 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, например, предлагает аналогичное поведение, отображая элементы как выбранные, но не влияет на фактический выбор в списке. JList поддерживает следующие режимы выгрузки:
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 JList.DropLocation getDropLocation()
null, если расположение в данный момент не должно отображаться. Этот метод не предназначен для запроса расположения выгрузки из TransferHandler, так как расположение выгрузки устанавливается только после того, как TransferHandler's canImport возвратился и позволил показать расположение.
При изменении этого свойства компонент генерирует событие изменения свойства с именем "dropLocation".
По умолчанию, ответственность за прослушивание изменений этого свойства и визуальное указание расположения выгрузки лежит на ListUI списка, который может отрисовать его непосредственно и/или установить рендерер ячейки для этой цели. Разработчики, желающие реализовать пользовательскую отрисовку расположения выгрузки и/или заменить рендерер ячеек по умолчанию, должны соблюдать это свойство.
- Returns:
- место выгрузки
- Since:
- 1.6
- See Also:
getNextMatch
public int getNextMatch(String prefix, int startIndex, Position.Bias bias)
toString которого начинается с заданного префикса.- Parameters:
-
prefix- строка для проверки соответствия -
startIndex- индекс для начала поиска -
bias- направление поиска, либо Position.Bias.Forward, либо Position.Bias.Backward. - Returns:
- индекс следующего элемента списка, начинающегося с префикса; в противном случае
-1 - Throws:
-
IllegalArgumentException- если префиксnullили startIndex находится за пределами границ - Since:
- 1.4
getToolTipText
public String getToolTipText(MouseEvent event)
JComponent's getToolTipText, чтобы сначала проверить компонент рендера ячейки для ячейки, над которой произошло событие, вернув его текст подсказки, если таковой имеется. Эта реализация позволяет указать текст всплывающей подсказки на уровне ячейки, используя setToolTipText на компоненте рендера ячейки. Примечание: Для того, чтобы JList корректно отображал всплывающие подсказки своих рендереров таким образом, JList должен быть зарегистрированным компонентом в ToolTipManager. Эта регистрация выполняется автоматически в конструкторе. Однако, если впоследствии JList будет дезактивирован путём вызова setToolTipText(null), подсказки от рендереров больше не будут отображаться.
- Overrides:
-
getToolTipTextв классеJComponent - Parameters:
-
event-MouseEventдля получения текста всплывающей подсказки - Returns:
- строка, содержащая всплывающую подсказку
- See Also:
locationToIndex
public int locationToIndex(Point location)
getCellBounds. Этот метод возвращает -1, если модель пуста. Это метод-обёртка, который делегирует вызов методу с тем же именем в ListUI списка. Он возвращает -1, если у списка нет ListUI.
- Parameters:
-
location- координаты точки - Returns:
- индекс ячейки, наиболее близкой к заданной позиции, или
-1
indexToLocation
public Point indexToLocation(int index)
null, если индекс недействителен. Это метод-обёртка, который делегирует вызов методу с тем же именем в ListUI списка. Он возвращает null, если у списка нет ListUI.
- Parameters:
-
index- индекс ячейки - Returns:
- начало ячейки, или
null
getCellBounds
public Rectangle getCellBounds(int index0, int index1)
Если меньший индекс находится вне диапазона ячеек списка, этот метод возвращает null. Если меньший индекс действителен, но больший индекс находится вне диапазона списка, возвращаются границы только первого индекса. В противном случае возвращаются границы действительного диапазона.
Это метод-обёртка, который делегирует вызов методу с тем же именем в ListUI списка. Он возвращает null, если у списка нет ListUI.
- Parameters:
-
index0- первый индекс в диапазоне -
index1- второй индекс в диапазоне - Returns:
- прямоугольник границ для диапазона ячеек, или
null
getModel
public ListModel<E> getModel()
JList.- Returns:
ListModel, предоставляющий отображаемый список элементов- See Also:
setModel
@BeanProperty(visualUpdate=true, description="The object that contains the data to be drawn by this JList.") public void setModel(ListModel<E> model)
Это свойство, привязанное к JavaBeans.
- Parameters:
-
model-ListModel, предоставляющий список элементов для отображения - Throws:
-
IllegalArgumentException- еслиmodelявляетсяnull - See Also:
setListData
public void setListData(E[] listData)
ListModel из массива элементов и вызывает setModel с этой моделью. Попытка передать null значение в этот метод приводит к неопределённому поведению и, скорее всего, к исключениям. Созданная модель ссылается на заданный массив напрямую. Попытки модифицировать массив после вызова этого метода приводят к неопределённому поведению.
- Parameters:
-
listData- массивE, содержащий элементы для отображения в списке - See Also:
setListData
public void setListData(Vector<? extends E> listData)
ListModel из Vector и вызывает setModel с этой моделью. Попытка передать null значение в этот метод приводит к неопределённому поведению и, скорее всего, к исключениям. Созданная модель ссылается на заданный Vector напрямую. Попытки модифицировать Vector после вызова этого метода приводят к неопределённому поведению.
- Parameters:
-
listData-Vector, содержащий элементы для отображения в списке - See Also:
createSelectionModel
protected ListSelectionModel createSelectionModel()
DefaultListSelectionModel; вызывается во время создания для инициализации свойства модели выделения списка.- Returns:
DefaultListSelecitonModel, используемый для инициализации свойства модели выделения списка во время создания- See Also:
getSelectionModel
public ListSelectionModel getSelectionModel()
- Returns:
ListSelectionModel, которая сохраняет выделения списка- See Also:
fireSelectionValueChanged
protected void fireSelectionValueChanged(int firstIndex, int lastIndex, boolean isAdjusting)
ListSelectionListener, добавленные непосредственно в список, об изменениях в модели выделения. JList прослушивает изменения, внесённые в модель выделения, и передаёт уведомления слушателям, добавленным в список напрямую, вызывая этот метод. Этот метод создаёт ListSelectionEvent с этим списком в качестве источника и указанными аргументами и отправляет его зарегистрированным ListSelectionListeners.
- Parameters:
-
firstIndex- первый индекс в диапазоне,<= lastIndex -
lastIndex- последний индекс в диапазоне,>= firstIndex -
isAdjusting- является ли это событием в серии нескольких событий, где изменения всё ещё вносятся - See Also:
addListSelectionListener
public void addListSelectionListener(ListSelectionListener listener)
JList следит за изменениями состояния выделения в модели выделения и уведомляет данного слушателя о каждом изменении. ListSelectionEvent, отправленные слушателю, имеют свойство source, установленное в этот список.- Parameters:
-
listener- добавляемыйListSelectionListener - See Also:
removeListSelectionListener
public void removeListSelectionListener(ListSelectionListener listener)
- Parameters:
-
listener- удаляемыйListSelectionListener - See Also:
getListSelectionListeners
@BeanProperty(bound=false) public ListSelectionListener[] getListSelectionListeners()
ListSelectionListener, добавленных к этому JList с помощью addListSelectionListener.- Возвращает:
- все
ListSelectionListenerв этом списке, или пустой массив, если слушатели не были добавлены - Since:
- 1.4
- См. также:
setSelectionModel
@BeanProperty(description="The selection model, recording which cells are selected.") public void setSelectionModel(ListSelectionModel selectionModel)
selectionModel для списка на не-null реализацию ListSelectionModel. Модель выбора отвечает за выполнение задач, таких как выделение одного элемента, непрерывного диапазона элементов и несмежных элементов. Это свойство, привязанное к JavaBeans.
- Параметры:
-
selectionModel-ListSelectionModel, реализующая выделение - Исключения:
-
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).
- Parameters:
-
b- новое значение свойства - See Also:
getValueIsAdjusting
public boolean getValueIsAdjusting()
isAdjusting. Это метод-обёртка, который делегирует вызов методу с таким же именем для модели выбора списка.
- Returns:
- значение свойства модели выбора
isAdjusting. - See Also:
getSelectedIndices
public int[] getSelectedIndices()
- Returns:
- все выбранные индексы в возрастающем порядке или пустой массив, если ничего не выбрано
- See Also:
setSelectedIndex
@BeanProperty(bound=false, description="The index of the selected cell.") public void setSelectedIndex(int index)
setSelectionInterval для модели выбора. Обратитесь к документации используемого класса модели выбора для получения подробностей о том, как обрабатываются значения, меньшие чем 0.- Parameters:
-
index- индекс ячейки для выбора - See Also:
setSelectedIndices
public void setSelectedIndices(int[] indices)
addSelectionInterval для модели выбора, чтобы добавить индексы. Обратитесь к документации используемого класса модели выбора для получения подробностей о том, как обрабатываются значения, меньшие чем 0.- Parameters:
-
indices- массив индексов ячеек для выбора,non-null - Throws:
-
NullPointerException- если заданный массив являетсяnull - See Also:
getSelectedValues
@Deprecated @BeanProperty(bound=false) public Object[] getSelectedValues()
getSelectedValuesList()
- Returns:
- выбранные значения или пустой массив, если ничего не выбрано
- See Also:
getSelectedValuesList
@BeanProperty(bound=false) public List<E> getSelectedValuesList()
- Returns:
- выбранные элементы или пустой список, если ничего не выбрано
- Since:
- 1.7
- See Also:
getSelectedIndex
public int getSelectedIndex()
-1, если выбор отсутствует. Этот метод является обёрткой, которая делегирует вызов getMinSelectionIndex.
- Returns:
- наименьший индекс выбранной ячейки
- See Also:
getSelectedValue
@BeanProperty(bound=false) public E getSelectedValue()
null, если выбор отсутствует. Это метод-удобство, который просто возвращает значение модели для getMinSelectionIndex.
- Returns:
- первое выбранное значение
- See Also:
setSelectedValue
public void setSelectedValue(Object anObject, boolean shouldScroll)
null, выбор очищается.- Parameters:
-
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:
-
getScrollableUnitIncrementin interfaceScrollable - 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:
-
getScrollableBlockIncrementin interfaceScrollable - 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:
-
getScrollableTracksViewportWidthin interfaceScrollable - Returns:
- указывает, следует ли вложенному окну просмотра принудительно устанавливать ширину списка равной своей собственной
- See Also:
getScrollableTracksViewportHeight
@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()
true, если этот JList отображается в JViewport, и область просмотра выше, чем предпочтительная высота списка, или если ориентация макета — VERTICAL_WRAP и visibleRowCount <= 0; в противном случае возвращает false. Если false, то высота области просмотра не отслеживается. Это позволяет вертикальную прокрутку, если сам JViewport вложен в JScrollPane.
- Specified by:
-
getScrollableTracksViewportHeightin interfaceScrollable - Returns:
- указывает, следует ли вложенному окну просмотра принудительно устанавливать высоту списка равной своей собственной
- See Also:
paramString
protected String paramString()
JList. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут различаться между реализациями. Возвращаемая строка может быть пустой, но не может быть null.- Overrides:
-
paramStringin classJComponent - Returns:
- строковое представление этого
JList.
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
AccessibleContext, связанный с этим JList. Для JList AccessibleContext представляет собой AccessibleJList. Новый экземпляр AccessibleJList создается при необходимости.
- Specified by:
-
getAccessibleContextin interfaceAccessible - Overrides:
-
getAccessibleContextin classComponent - Returns:
AccessibleJList, который являетсяAccessibleContextэтогоJList
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/swing/JList.html
getSelectedValuesList()