Класс 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, управляет содержимым списка. Легко отобразить массив или вектор объектов, используя конструктор JList, который автоматически создаёт для вас экземпляр 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 отвечает за поддержание визуального представления в актуальном состоянии, прослушивая изменения в модели.
Простые приложения с динамическим содержимым, JList, могут использовать класс DefaultListModel для управления элементами списка. Этот класс реализует интерфейс ListModel и также предоставляет API, подобный 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 для получения дополнительной документации.
- Since:
- 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 , установив его в значение, предоставляемое текущим визуальным оформлением. |
Методы, объявленные в классе 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
Методы, объявленные в классе 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
Методы, объявленные в классе 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, объект отображения и ощущений, отображающий данный компонент.- Переопределяет:
-
getUIв классеJComponent - Возвращает:
- объект отображения и ощущений, отображающий данный компонент
setUI
@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component\'s LookAndFeel.") public void setUI(ListUI ui)
ListUI, объект отображения и ощущений, отображающий этот компонент.- Параметры:
-
ui- объект отображения и ощущений - См. также:
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-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(), который используется для вычисления предпочтительного размера содержащего viewport. См. документацию этого метода для получения более подробной информации.
В ориентациях 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: 0
1
2
3
4
HORIZONTAL_WRAP: 0 1 2
3 4
VERTICAL_WRAP: 0 3
1 4
2
Ниже приведено описание этих способов вывода:
| Значение | Описание |
|---|---|
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 - Параметры:
-
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; вызывается во время создания для инициализации свойства модели выделения списка.- Возвращает:
DefaultListSelecitonModel, используемый для инициализации свойства модели выделения списка во время создания- См. также:
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-ListSelectionListenerдля удаления - См. также:
getListSelectionListeners
@BeanProperty(bound=false) public ListSelectionListener[] getListSelectionListeners()
ListSelectionListener , добавленных к этому JList с помощью addListSelectionListener.- Возвращает:
- все
ListSelectionListenerв этом списке или пустой массив, если слушатели не были добавлены - С:
- 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:
-
getPreferredScrollableViewportSizein interfaceScrollable - 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, 2023, 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/21/docs/api/java.desktop/javax/swing/JList.html
getSelectedValuesList()