Класс 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, который автоматически создаёт для вас экземпляр 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 не реализует прокрутку напрямую. Чтобы создать список с прокруткой, сделайте его областью просмотра 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 для дополнительной документации.

С момента:
1.2
См. также:
ListModel, AbstractListModel, DefaultListModel, ListSelectionModel, DefaultListSelectionModel, ListCellRenderer, DefaultListCellRenderer, Сериализованная форма

Вложенные классы

Модификатор и тип Класс Описание
protected class  JList.AccessibleJList

Этот класс реализует поддержку доступности для класса JList.

static 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 int HORIZONTAL_WRAP

Означает "газетную" компоновку с ячейками, текущими по горизонтали, а затем по вертикали.

static int VERTICAL

Означает вертикальную компоновку ячеек в одном столбце; по умолчанию.

static 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​(E[] listData)

Создаёт JList, отображающий элементы в указанном массиве.

JList​(Vector<? extends E> listData)

Создаёт JList, отображающий элементы в указанном векторе.

JList​(ListModel<E> dataModel)

Создаёт JList, отображающий элементы из указанной, non-null, модели.

Методы

Модификатор и тип Метод Описание
void addListSelectionListener​(ListSelectionListener listener)

Добавляет слушателя в список, чтобы уведомлять о каждом изменении в выборе; предпочтительный способ прослушивания изменений состояния выбора.

void addSelectionInterval​(int anchor, int lead)

Устанавливает выбор в объединение указанного интервала с текущим выбором.

void clearSelection()

Очищает выбор; после вызова этого метода isSelectionEmpty вернёт true.

protected ListSelectionModel createSelectionModel()

Возвращает экземпляр DefaultListSelectionModel; вызывается во время создания для инициализации свойства модели выбора списка.

void ensureIndexIsVisible​(int index)

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

protected void fireSelectionValueChanged​(int firstIndex, int lastIndex, boolean isAdjusting)

Уведомляет ListSelectionListener, добавленные непосредственно в список, об изменениях выбора, внесённых в модель выбора.

AccessibleContext getAccessibleContext()

Получает AccessibleContext, связанное с этим JList.

int getAnchorSelectionIndex()

Возвращает индекс якоря выбора.

Rectangle getCellBounds​(int index0, int index1)

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

ListCellRenderer<? super E> getCellRenderer()

Возвращает объект, отвечающий за отрисовку элементов списка.

boolean getDragEnabled()

Возвращает, включена ли автоматическая обработка перетаскивания.

JList.DropLocation getDropLocation()

Возвращает расположение, которое этот компонент должен визуально указывать как место выгрузки во время операции перетаскивания над компонентом, или null, если показывать место выгрузки не нужно.

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<E> getModel()

Возвращает модель данных, которая содержит список элементов, отображаемых компонентом JList.

int getNextMatch​(String prefix, int startIndex, Position.Bias bias)

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

Dimension getPreferredScrollableViewportSize()

Вычисляет размер области видимости, необходимый для отображения visibleRowCount строк.

E getPrototypeCellValue()

Возвращает «прототипичное» значение ячейки — значение, используемое для расчёта фиксированной ширины и высоты ячеек.

int getScrollableBlockIncrement​(Rectangle visibleRect, int orientation, int direction)

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

boolean getScrollableTracksViewportHeight()

Возвращает true, если этот JList отображается в JViewport, а область видимости выше предпочтительной высоты списка, или если ориентация макета — VERTICAL_WRAP и visibleRowCount <= 0; в противном случае возвращает false.

boolean getScrollableTracksViewportWidth()

Возвращает true, если этот JList отображается в JViewport, а область видимости шире предпочтительной ширины списка, или если ориентация макета — HORIZONTAL_WRAP и visibleRowCount <= 0; в противном случае возвращает false.

int getScrollableUnitIncrement​(Rectangle visibleRect, int orientation, int direction)

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

int getSelectedIndex()

Возвращает наименьший индекс выбранной ячейки; выбор, когда в списке выбран только один элемент.

int[] getSelectedIndices()

Возвращает массив всех выбранных индексов в порядке возрастания.

E getSelectedValue()

Возвращает значение для наименьшего выбранного индекса ячейки; выбранное значение, когда в списке выбран только один элемент.

Object[] getSelectedValues()

Устаревшее.

Начиная с JDK 1.7, заменено на getSelectedValuesList()

List<E> getSelectedValuesList()

Возвращает список всех выбранных элементов в порядке возрастания на основе их индексов в списке.

Color getSelectionBackground()

Возвращает цвет, используемый для отрисовки фона выбранных элементов.

Color getSelectionForeground()

Возвращает цвет, используемый для отрисовки переднего плана выбранных элементов.

int getSelectionMode()

Возвращает текущий режим выбора для списка.

ListSelectionModel getSelectionModel()

Возвращает текущую модель выбора.

String getToolTipText​(MouseEvent event)

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

ListUI getUI()

Возвращает ListUI, объект отображения, который отрисовывает этот компонент.

String getUIClassID()

Возвращает "ListUI", ключ UIDefaults, используемый для поиска имени класса javax.swing.plaf.ListUI, который определяет вид отображения этого компонента.

boolean getValueIsAdjusting()

Возвращает значение свойства isAdjusting модели выбора.

int getVisibleRowCount()

Возвращает значение свойства visibleRowCount.

Point indexToLocation​(int index)

Возвращает начало указанного элемента в системе координат списка.

boolean isSelectedIndex​(int index)

Возвращает true, если указанный индекс выбран, иначе false.

boolean isSelectionEmpty()

Возвращает true, если ничего не выбрано, иначе false.

int locationToIndex​(Point location)

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

protected String paramString()

Возвращает представление String этого JList.

void removeListSelectionListener​(ListSelectionListener listener)

Удаляет слушателя выбора из списка.

void removeSelectionInterval​(int index0, int index1)

Устанавливает выбор в разность указанного интервала и текущего выбора.

void setCellRenderer​(ListCellRenderer<? super E> cellRenderer)

Устанавливает делегата, используемого для отрисовки каждой ячейки в списке.

void setDragEnabled​(boolean b)

Включает или отключает автоматическую обработку перетаскивания.

void setDropMode​(DropMode dropMode)

Устанавливает режим выдачи для этого компонента.

void setFixedCellHeight​(int height)

Устанавливает фиксированное значение для высоты каждой ячейки в списке.

void setFixedCellWidth​(int width)

Устанавливает фиксированное значение для ширины каждой ячейки в списке.

void setLayoutOrientation​(int layoutOrientation)

Определяет способ вывода ячеек списка.

void setListData​(E[] listData)

Создаёт доступный только для чтения ListModel из массива элементов и вызывает setModel с этой моделью.

void setListData​(Vector<? extends E> listData)

Создаёт доступный только для чтения ListModel из Vector и вызывает setModel с этой моделью.

void setModel​(ListModel<E> model)

Устанавливает модель, представляющую содержимое или «значение» списка, уведомляет слушателей об изменениях свойств и затем очищает выделение в списке.

void setPrototypeCellValue​(E prototypeCellValue)

Устанавливает свойство prototypeCellValue и затем (если новое значение является non-null), вычисляет свойства fixedCellWidth и fixedCellHeight, запрашивая у компонента визуализации ячеек компонент для заданного значения (и индекса 0) и используя предпочитаемый размер этого компонента.

void setSelectedIndex​(int index)

Выделяет одну ячейку.

void setSelectedIndices​(int[] indices)

Изменяет выделение на набор индексов, указанных в заданном массиве.

void setSelectedValue​(Object anObject, boolean shouldScroll)

Выделяет указанный объект в списке.

void setSelectionBackground​(Color selectionBackground)

Устанавливает цвет, используемый для рисования фона выделенных элементов, который компоненты визуализации ячеек могут использовать для заполнения выделенных ячеек.

void setSelectionForeground​(Color selectionForeground)

Устанавливает цвет, используемый для рисования переднего плана выделенных элементов, который компоненты визуализации ячеек могут использовать для рендеринга текста и графики.

void setSelectionInterval​(int anchor, int lead)

Выделяет указанный интервал.

void setSelectionMode​(int selectionMode)

Устанавливает режим выделения для списка.

void setSelectionModel​(ListSelectionModel selectionModel)

Устанавливает selectionModel для списка на не-null ListSelectionModel реализацию.

void setUI​(ListUI ui)

Устанавливает ListUI, объект внешнего вида, который отображает этот компонент.

void setValueIsAdjusting​(boolean b)

Устанавливает свойство valueIsAdjusting модели выделения.

void setVisibleRowCount​(int visibleRowCount)

Устанавливает свойство 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, 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, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle

Methods declared in class java.lang.Object

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

Поля

VERTICAL

public static final int VERTICAL

Указывает вертикальную компоновку ячеек в один столбец; предпочтительная компоновка.

Since:
1.4
See Also:
setLayoutOrientation(int), Значения константных полей

VERTICAL_WRAP

public static final int VERTICAL_WRAP

Указывает компоновку в стиле «газеты» с ячейками, выравниваемыми вертикально, а затем горизонтально.

Since:
1.4
See Also:
setLayoutOrientation(int), Значения константных полей

HORIZONTAL_WRAP

public static final int HORIZONTAL_WRAP

Указывает компоновку в стиле «газеты» с ячейками, выравниваемыми горизонтально, а затем вертикально.

Since:
1.4
See Also:
setLayoutOrientation(int), Значения константных полей

Конструкторы

JList

public JList(ListModel<E> dataModel)

Создаёт JList, отображающий элементы из указанной, non-null, модели. Все конструкторы JList делегируют этому.

Этот конструктор регистрирует список в ToolTipManager, позволяя компонентам визуализации ячеек предоставлять всплывающие подсказки.

Parameters:
dataModel - модель для списка
Throws:
IllegalArgumentException - если модель является null

JList

public JList(E[] listData)

Создаёт JList, отображающий элементы в указанном массиве. Этот конструктор создаёт доступную только для чтения модель для данного массива, а затем делегирует конструктору, принимающему ListModel.

Попытка передать null значение в этот метод приводит к неопределённому поведению и, скорее всего, к исключениям. Созданная модель ссылается на заданный массив непосредственно. Попытка изменить массив после построения списка приводит к неопределённому поведению.

Parameters:
listData - массив объектов для загрузки в модель данных, non-null

JList

public JList(Vector<? extends E> listData)

Создаёт JList, отображающий элементы в указанном Vector. Этот конструктор создаёт доступную только для чтения модель для данного Vector, а затем делегирует конструктору, принимающему ListModel.

Попытка передать null значение в этот метод приводит к неопределённому поведению и, скорее всего, к исключениям. Созданная модель ссылается на заданный Vector непосредственно. Попытка изменить Vector после построения списка приводит к неопределённому поведению.

Parameters:
listData - Vector для загрузки в модель данных, non-null

JList

public JList()

Создаёт JList с пустой, доступной только для чтения моделью.

Методы

getUI

public ListUI getUI()

Возвращает ListUI, объект визуального оформления, который отображает этот компонент.

Переопределяет:
getUI в классе JComponent
Возвращает:
объект ListUI, который отображает этот компонент

setUI

@BeanProperty(hidden=true,
              visualUpdate=true,
              description="The UI object that implements the Component\'s LookAndFeel.")
public void setUI(ListUI ui)

Устанавливает ListUI, объект визуального оформления, который отображает этот компонент.

Параметры:
ui - объект ListUI
См. также:
UIDefaults.getUI(javax.swing.JComponent)

updateUI

public void updateUI()

Сбрасывает свойство ListUI, установив его значение, предоставляемое текущим визуальным оформлением. Если текущий обработчик ячейки был установлен разработчиком (а не самим визуальным оформлением), это также приводит к обновлению обработчика ячейки и его дочерних элементов, вызывая SwingUtilities.updateComponentTreeUI на нём.

Переопределяет:
updateUI в классе JComponent
См. также:
UIManager.getUI(javax.swing.JComponent), SwingUtilities.updateComponentTreeUI(java.awt.Component)

getUIClassID

@BeanProperty(bound=false)
public String getUIClassID()

Возвращает "ListUI", ключ UIDefaults, используемый для поиска имени класса javax.swing.plaf.ListUI, определяющего визуальное оформление для этого компонента.

Переопределяет:
getUIClassID в классе JComponent
Возвращает:
строку "ListUI"
См. также:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

getPrototypeCellValue

public E getPrototypeCellValue()

Возвращает "образцовое" значение ячейки — значение, используемое для вычисления фиксированной ширины и высоты ячеек. Это может быть null, если такого значения нет.

Возвращает:
значение свойства prototypeCellValue
См. также:
setPrototypeCellValue(E)

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
См. также:
getPrototypeCellValue(), setFixedCellWidth(int), setFixedCellHeight(int), Container.addPropertyChangeListener(java.beans.PropertyChangeListener)

getFixedCellWidth

public int getFixedCellWidth()

Возвращает значение свойства fixedCellWidth.

Возвращает:
фиксированную ширину ячейки
См. также:
setFixedCellWidth(int)

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 - ширина, используемая для всех ячеек в списке
См. также:
setPrototypeCellValue(E), setFixedCellWidth(int), Container.addPropertyChangeListener(java.beans.PropertyChangeListener)

getFixedCellHeight

public int getFixedCellHeight()

Возвращает значение свойства fixedCellHeight.

Возвращает:
фиксированную высоту ячейки
См. также:
setFixedCellHeight(int)

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.

Параметры:
height - высота, используемая для всех ячеек в списке
См. также:
setPrototypeCellValue(E), setFixedCellWidth(int), Container.addPropertyChangeListener(java.beans.PropertyChangeListener)

getCellRenderer

public ListCellRenderer<? super E> getCellRenderer()

Возвращает объект, ответственный за рисование элементов списка.

Возвращает:
значение свойства cellRenderer
См. также:
setCellRenderer(javax.swing.ListCellRenderer<? super E>)

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.

Параметры:
cellRenderer - ListCellRenderer, который рисует ячейки списка
См. также:
getCellRenderer()

getSelectionForeground

public Color getSelectionForeground()

Возвращает цвет, используемый для рисования переднего плана выделенных элементов. DefaultListCellRenderer использует этот цвет для рисования переднего плана элементов в выделенном состоянии, как и обработчики, установленные большинством реализаций ListUI.

Возвращает:
цвет для рисования переднего плана выделенных элементов
См. также:
setSelectionForeground(java.awt.Color), DefaultListCellRenderer

setSelectionForeground

@BeanProperty(visualUpdate=true,
              description="The foreground color of selected cells.")
public void setSelectionForeground(Color selectionForeground)

Устанавливает цвет, используемый для рисования переднего плана выделенных элементов, который компоненты отображения ячеек могут использовать для рендеринга текста и графики. DefaultListCellRenderer использует этот цвет для рисования переднего плана элементов в выделенном состоянии, как и обработчики, установленные большинством реализаций ListUI.

Значение по умолчанию для этого свойства определяется реализацией визуального оформления.

Это свойство JavaBeans.

Параметры:
selectionForeground - Color, используемый для переднего плана выделенных элементов списка
См. также:
getSelectionForeground(), setSelectionBackground(java.awt.Color), JComponent.setForeground(java.awt.Color), JComponent.setBackground(java.awt.Color), JComponent.setFont(java.awt.Font), DefaultListCellRenderer

getSelectionBackground

public Color getSelectionBackground()

Возвращает цвет, используемый для рисования фона выделенных элементов. DefaultListCellRenderer использует этот цвет для рисования фона элементов в выделенном состоянии, как и обработчики, установленные большинством реализаций ListUI.

Возвращает:
цвет для рисования фона выделенных элементов
См. также:
setSelectionBackground(java.awt.Color), DefaultListCellRenderer

setSelectionBackground

@BeanProperty(visualUpdate=true,
              description="The background color of selected cells.")
public void setSelectionBackground(Color selectionBackground)

Устанавливает цвет, используемый для рисования фона выделенных элементов, который компоненты отображения ячеек могут использовать для заполнения выделенных ячеек. DefaultListCellRenderer использует этот цвет для заполнения фона элементов в выделенном состоянии, как и обработчики, установленные большинством реализаций ListUI.

Значение по умолчанию для этого свойства определяется реализацией визуального оформления.

Это свойство JavaBeans.

Параметры:
selectionBackground - Color, используемый для фона выделенных ячеек
См. также:
getSelectionBackground(), setSelectionForeground(java.awt.Color), JComponent.setForeground(java.awt.Color), JComponent.setBackground(java.awt.Color), JComponent.setFont(java.awt.Font), DefaultListCellRenderer

getVisibleRowCount

public int getVisibleRowCount()

Возвращает значение свойства visibleRowCount. См. документацию для setVisibleRowCount(int) для подробностей о том, как интерпретировать это значение.

Возвращает:
значение свойства visibleRowCount.
См. также:
setVisibleRowCount(int)

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.

Параметры:
visibleRowCount - целое число, определяющее предпочтительное количество строк для отображения без необходимости прокрутки
См. также:
getVisibleRowCount(), getPreferredScrollableViewportSize(), setLayoutOrientation(int), JComponent.getVisibleRect(), JViewport

getLayoutOrientation

public int getLayoutOrientation()

Возвращает свойство ориентации макета для списка: VERTICAL, если макет представляет собой один столбец ячеек; VERTICAL_WRAP, если макет имеет стиль «газета» с вертикальным, а затем горизонтальным потоком содержимого; или HORIZONTAL_WRAP, если макет имеет стиль «газета» с горизонтальным, а затем вертикальным потоком содержимого.

Возвращает:
значение свойства layoutOrientation
С:
1.4
См. также:
setLayoutOrientation(int)

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:          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.
Параметры:
layoutOrientation - новая ориентация макета, один из: VERTICAL, HORIZONTAL_WRAP или VERTICAL_WRAP
Исключения:
IllegalArgumentException - если layoutOrientation не является одним из допустимых значений
С:
1.4
См. также:
getLayoutOrientation(), setVisibleRowCount(int), getScrollableTracksViewportHeight(), getScrollableTracksViewportWidth()

getFirstVisibleIndex

@BeanProperty(bound=false)
public int getFirstVisibleIndex()

Возвращает наименьший индекс списка, который в данный момент виден. В ориентации слева направо componentOrientation, первая видимая ячейка находится ближе к верхнему левому углу списка. В ориентации справа налево — ближе к верхнему правому углу. Если ничего не видно или список пустой, возвращается -1. Обратите внимание, что возвращённая ячейка может быть только частично видимой.

Возвращает:
индекс первой видимой ячейки
См. также:
getLastVisibleIndex(), JComponent.getVisibleRect()

getLastVisibleIndex

@BeanProperty(bound=false)
public int getLastVisibleIndex()

Возвращает наибольший индекс списка, который в данный момент виден. Если ничего не видно или список пустой, возвращается -1. Обратите внимание, что возвращённая ячейка может быть только частично видимой.

Возвращает:
индекс последней видимой ячейки
См. также:
getFirstVisibleIndex(), JComponent.getVisibleRect()

ensureIndexIsVisible

public void ensureIndexIsVisible(int index)

Прокручивает список в охватывающей области просмотра, чтобы сделать указанную ячейку полностью видимой. Это вызывает scrollRectToVisible с границами указанной ячейки. Для работы этого метода JList должен находиться в JViewport.

Если заданный индекс находится за пределами диапазона ячеек списка, этот метод не приводит к действиям.

Параметры:
index - индекс ячейки, которую нужно сделать видимой
См. также:
JComponent.scrollRectToVisible(java.awt.Rectangle), JComponent.getVisibleRect()

setDragEnabled

@BeanProperty(bound=false,
              description="determines whether automatic drag handling is enabled")
public void setDragEnabled(boolean b)

Включает или отключает автоматическое управление перетаскиванием. Для включения автоматического управления перетаскиванием это свойство должно быть установлено в true, а TransferHandler списка должно быть non-null. Значение по умолчанию для свойства dragEnabled — false.

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

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

Параметры:
b - включить или отключить автоматическое управление перетаскиванием
Исключения:
HeadlessException - если b равно true и GraphicsEnvironment.isHeadless() возвращает true
С:
1.4
См. также:
GraphicsEnvironment.isHeadless(), getDragEnabled(), JComponent.setTransferHandler(javax.swing.TransferHandler), TransferHandler

getDragEnabled

public boolean getDragEnabled()

Возвращает, включено ли автоматическое управление перетаскиванием.

Возвращает:
значение свойства dragEnabled
С:
1.4
См. также:
setDragEnabled(boolean)

setDropMode

public final void setDropMode(DropMode dropMode)

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

JList поддерживает следующие режимы выгрузки:

  • DropMode.USE_SELECTION
  • DropMode.ON
  • DropMode.INSERT
  • DropMode.ON_OR_INSERT
Режим выгрузки имеет смысл только если у этого компонента есть TransferHandler, принимающий выгрузку.
Параметры:
dropMode - режим выгрузки для использования
Исключения:
IllegalArgumentException - если режим выгрузки не поддерживается или null
С:
1.6
См. также:
getDropMode(), getDropLocation(), JComponent.setTransferHandler(javax.swing.TransferHandler), TransferHandler

getDropMode

public final DropMode getDropMode()

Возвращает режим выгрузки для этого компонента.

Возвращает:
режим выгрузки для этого компонента
С:
1.6
См. также:
setDropMode(javax.swing.DropMode)

getDropLocation

@BeanProperty(bound=false)
public final JList.DropLocation getDropLocation()

Возвращает расположение, которое этот компонент должен визуально указывать как расположение выгрузки во время операции перетаскивания над компонентом, или null, если в данный момент не отображается ни одно расположение.

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

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

По умолчанию, ответственность за прослушивание изменений этого свойства и визуальное указание расположения выгрузки лежит на ListUI списка, который может отображать его непосредственно и/или устанавливать обработчик ячеек для этого.

Возвращает:
расположение выгрузки
С:
1.6
См. также:
setDropMode(javax.swing.DropMode), TransferHandler.canImport(TransferHandler.TransferSupport)

getNextMatch

public int getNextMatch(String prefix,
                        int startIndex,
                        Position.Bias bias)

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

Параметры:
prefix - строка для проверки соответствия
startIndex - индекс для начала поиска
bias - направление поиска, либо Position.Bias.Forward, либо Position.Bias.Backward.
Возвращает:
индекс следующего элемента списка, начинающегося с префикса; в противном случае -1
Исключения:
IllegalArgumentException - если префикс null или startIndex выходит за пределы допустимого диапазона
С версии:
1.4

getToolTipText

public String getToolTipText(MouseEvent event)

Возвращает текст всплывающей подсказки для данного события. Это переопределяет JComponent's getToolTipText, чтобы сначала проверить компонент рендера ячейки для ячейки, над которой произошло событие, вернув его текст всплывающей подсказки, если таковой имеется. Это позволяет указать текст всплывающей подсказки на уровне ячейки, используя setToolTipText на компоненте рендера ячейки.

Примечание: Для того, чтобы JList должным образом отображал всплывающие подсказки своих рендеров таким образом, JList должен быть зарегистрированным компонентом в ToolTipManager. Эта регистрация выполняется автоматически в конструкторе. Однако, если впоследствии JList будет дезактивирован путём вызова setToolTipText(null), подсказки от рендеров больше не будут отображаться.

Переопределяет:
getToolTipText в классе JComponent
Параметры:
event - событие для извлечения текста всплывающей подсказки
Возвращает:
строка, содержащая всплывающую подсказку
См. также:
JComponent.setToolTipText(java.lang.String), JComponent.getToolTipText()

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(javax.swing.ListModel<E>)

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
См. также:
getModel(), clearSelection()

setListData

public void setListData(E[] listData)

Создаёт читаемую только ListModel из массива элементов и вызывает setModel с этой моделью.

Попытка передать значение null в этот метод приводит к неопределённому поведению и, скорее всего, к исключениям. Созданная модель ссылается на заданный массив напрямую. Попытки изменить массив после вызова этого метода приводят к неопределённому поведению.

Параметры:
listData - массив E, содержащий элементы для отображения в списке
См. также:
setModel(javax.swing.ListModel<E>)

setListData

public void setListData(Vector<? extends E> listData)

Создаёт читаемую только ListModel из Vector и вызывает setModel с этой моделью.

Попытка передать значение null в этот метод приводит к неопределённому поведению и, скорее всего, к исключениям. Созданная модель ссылается на заданный Vector напрямую. Попытки изменить Vector после вызова этого метода приводят к неопределённому поведению.

Параметры:
listData - Vector, содержащий элементы для отображения в списке
См. также:
setModel(javax.swing.ListModel<E>)

createSelectionModel

protected ListSelectionModel createSelectionModel()

Возвращает экземпляр DefaultListSelectionModel; вызывается во время построения для инициализации свойства модели выбора списка.

Возвращает:
экземпляр DefaultListSelecitonModel, используемый для инициализации свойства модели выбора списка во время построения
См. также:
setSelectionModel(javax.swing.ListSelectionModel), DefaultListSelectionModel

getSelectionModel

public ListSelectionModel getSelectionModel()

Возвращает текущую модель выбора. Модель выбора сохраняет состояние выбора в списке. Дополнительные сведения см. в документации класса.

Возвращает:
ListSelectionModel, которая сохраняет состояния выбора в списке
См. также:
setSelectionModel(javax.swing.ListSelectionModel), ListSelectionModel

fireSelectionValueChanged

protected void fireSelectionValueChanged(int firstIndex,
                                         int lastIndex,
                                         boolean isAdjusting)

Уведомляет ListSelectionListener, добавленных непосредственно в список, об изменениях, внесённых в модель выбора. JList следит за изменениями, внесёнными в модель выбора, и пересылает уведомления слушателям, добавленным непосредственно в список, вызывая этот метод.

Этот метод создаёт ListSelectionEvent с этим списком в качестве источника и указанными аргументами и отправляет его зарегистрированным ListSelectionListeners.

Параметры:
firstIndex - первый индекс в диапазоне, <= lastIndex
lastIndex - последний индекс в диапазоне, >= firstIndex
isAdjusting - указывает, является ли это одним из серии событий, где изменения всё ещё вносятся
См. также:
addListSelectionListener(javax.swing.event.ListSelectionListener), removeListSelectionListener(javax.swing.event.ListSelectionListener), ListSelectionEvent, EventListenerList

addListSelectionListener

public void addListSelectionListener(ListSelectionListener listener)

Добавляет слушателя в список для уведомления каждый раз, когда происходит изменение выбора; предпочтительный способ прослушивания изменений состояния выбора. JList следит за изменениями состояния выбора в модели выбора и уведомляет данного слушателя о каждом изменении. Сообщения, отправленные слушателю, имеют свойство source, установленное на этот список.

Параметры:
listener - слушатель ListSelectionListener для добавления
См. также:
getSelectionModel(), getListSelectionListeners()

removeListSelectionListener

public void removeListSelectionListener(ListSelectionListener listener)

Удаляет слушателя изменений выбора из списка.

Параметры:
listener - слушатель ListSelectionListener для удаления
См. также:
addListSelectionListener(javax.swing.event.ListSelectionListener), getSelectionModel()

getListSelectionListeners

@BeanProperty(bound=false)
public ListSelectionListener[] getListSelectionListeners()

Возвращает массив всех ListSelectionListener, добавленных в этот JList с помощью addListSelectionListener.

Возвращает:
все ListSelectionListener в этом списке или пустой массив, если слушатели не добавлены
С версии:
1.4
См. также:
addListSelectionListener(javax.swing.event.ListSelectionListener)

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
См. также:
getSelectionModel()

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()

getSelectionMode

public int getSelectionMode()

Возвращает текущий режим выбора для списка. Это метод-обёртка, который делегирует вызов методу с таким же именем в модели выбора списка.

Возвращает:
текущий режим выбора
См. также:
setSelectionMode(int)

getAnchorSelectionIndex

@BeanProperty(bound=false)
public int getAnchorSelectionIndex()

Возвращает индекс якоря выбора. Это метод-обёртка, который делегирует вызов методу с таким же именем в модели выбора списка.

Возвращает:
индекс якоря выбора
См. также:
ListSelectionModel.getAnchorSelectionIndex()

getLeadSelectionIndex

@BeanProperty(bound=false,
              description="The lead selection index.")
public int getLeadSelectionIndex()

Возвращает индекс ведущего элемента выбора. Это метод-обёртка, который делегирует вызов методу с таким же именем в модели выбора списка.

Возвращает:
индекс ведущего элемента выбора
См. также:
ListSelectionModel.getLeadSelectionIndex()

getMinSelectionIndex

@BeanProperty(bound=false)
public int getMinSelectionIndex()

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

Возвращает:
наименьший индекс выбранной ячейки или -1
См. также:
ListSelectionModel.getMinSelectionIndex()

getMaxSelectionIndex

@BeanProperty(bound=false)
public int getMaxSelectionIndex()

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

Возвращает:
наибольший индекс выбранной ячейки
См. также:
ListSelectionModel.getMaxSelectionIndex()

isSelectedIndex

public boolean isSelectedIndex(int index)

Возвращает true, если указанный индекс выбран, иначе false. Это метод-обёртка, который делегирует вызов методу с таким же именем в модели выбора списка.

Параметры:
index - индекс, состояние выбора которого требуется проверить
Возвращает:
true, если указанный индекс выбран, иначе false
См. также:
ListSelectionModel.isSelectedIndex(int), setSelectedIndex(int)

isSelectionEmpty

@BeanProperty(bound=false)
public boolean isSelectionEmpty()

Возвращает true, если ничего не выбрано, иначе false. Это метод-обёртка, который делегирует вызов методу с таким же именем в модели выбора списка.

Возвращает:
true, если ничего не выбрано, иначе false
См. также:
ListSelectionModel.isSelectionEmpty(), clearSelection()

clearSelection

public void clearSelection()

Очищает выбор; после вызова этого метода, isSelectionEmpty вернёт true. Это метод-обёртка, который делегирует вызов методу с таким же именем в модели выбора списка.

См. также:
ListSelectionModel.clearSelection(), isSelectionEmpty()

setSelectionInterval

public void setSelectionInterval(int anchor,
                                 int lead)

Выбирает указанный интервал. Оба индекса anchor и lead включены. anchor не обязательно должно быть меньше или равно lead. Это метод-обёртка, который делегирует вызов методу с таким же именем в модели выбора списка.

Для получения подробной информации о том, как обрабатываются значения меньше, чем 0, обратитесь к документации используемого класса модели выбора.

Параметры:
anchor - первый индекс для выбора
lead - последний индекс для выбора
См. также:
ListSelectionModel.setSelectionInterval(int, int), DefaultListSelectionModel.setSelectionInterval(int, int), createSelectionModel(), addSelectionInterval(int, int), removeSelectionInterval(int, int)

addSelectionInterval

public void addSelectionInterval(int anchor,
                                 int lead)

Устанавливает выбор, являющийся объединением указанного интервала и текущего выбора. Оба индекса, anchor и lead, включены. anchor не обязательно должно быть меньше или равно lead. Это метод-обёртка, который делегирует вызов методу с таким же именем в модели выбора списка.

Для получения подробной информации о том, как обрабатываются значения меньше, чем 0, обратитесь к документации используемого класса модели выбора.

Параметры:
anchor - первый индекс для добавления в выбор
lead - последний индекс для добавления в выбор
См. также:
ListSelectionModel.addSelectionInterval(int, int), DefaultListSelectionModel.addSelectionInterval(int, int), createSelectionModel(), setSelectionInterval(int, int), removeSelectionInterval(int, int)

removeSelectionInterval

public void removeSelectionInterval(int index0,
                                    int index1)

Устанавливает выбор, являющийся разностью указанного интервала и текущего выбора. Оба индекса, index0 и index1, удаляются. index0 не обязательно должно быть меньше или равно index1. Это метод-обёртка, который делегирует вызов методу с таким же именем в модели выбора списка.

Для получения подробной информации о том, как обрабатываются значения меньше, чем 0, обратитесь к документации используемого класса модели выбора.

Параметры:
index0 - первый индекс для удаления из выбора
index1 - последний индекс для удаления из выбора
См. также:
ListSelectionModel.removeSelectionInterval(int, int), DefaultListSelectionModel.removeSelectionInterval(int, int), createSelectionModel(), setSelectionInterval(int, int), addSelectionInterval(int, int)

setValueIsAdjusting

public void setValueIsAdjusting(boolean b)

Устанавливает свойство valueIsAdjusting модели выбора. При значении true все последующие изменения выбора должны рассматриваться как часть одного изменения. Это свойство используется внутри и разработчикам обычно не нужно вызывать этот метод. Например, при обновлении модели в ответ на перетаскивание пользователем, значение свойства устанавливается в true при начале перетаскивания и устанавливается в false при завершении перетаскивания. Это позволяет слушателям обновляться только при завершении изменения, а не при обработке всех промежуточных значений.

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

Это метод-обёртка, который делегирует вызов методу с таким же именем в модели выбора списка. Подробнее см. документацию по ListSelectionModel.setValueIsAdjusting(boolean).

Параметры:
b - новое значение свойства
См. также:
ListSelectionModel.setValueIsAdjusting(boolean), ListSelectionEvent.getValueIsAdjusting(), getValueIsAdjusting()

getValueIsAdjusting

public boolean getValueIsAdjusting()

Возвращает значение свойства isAdjusting модели выбора.

Это метод-обёртка, который делегирует вызов методу с таким же именем в модели выбора списка.

Возвращает:
значение свойства isAdjusting модели выбора.
См. также:
setValueIsAdjusting(boolean), ListSelectionModel.getValueIsAdjusting()

getSelectedIndices

public int[] getSelectedIndices()

Возвращает массив всех выбранных индексов в порядке возрастания.

Возвращает:
все выбранные индексы в порядке возрастания или пустой массив, если ничего не выбрано
См. также:
removeSelectionInterval(int, int), addListSelectionListener(javax.swing.event.ListSelectionListener)

setSelectedIndex

@BeanProperty(bound=false,
              description="The index of the selected cell.")
public void setSelectedIndex(int index)

Выбирает одну ячейку. Ничего не делает, если заданный индекс больше или равен размеру модели. Это метод удобства, который использует setSelectionInterval для модели выбора. Обратитесь к документации используемого класса модели выбора для получения подробной информации о том, как обрабатываются значения, меньшие чем 0.

Параметры:
index - индекс ячейки, которую нужно выбрать
См. также:
ListSelectionModel.setSelectionInterval(int, int), isSelectedIndex(int), addListSelectionListener(javax.swing.event.ListSelectionListener)

setSelectedIndices

public void setSelectedIndices(int[] indices)

Изменяет выбор на множество индексов, заданных в заданном массиве. Индексы, которые больше или равны размеру модели, игнорируются. Это удобный метод, который очищает выбор и затем использует addSelectionInterval в модели выбора для добавления индексов. Обратитесь к документации используемого класса модели выбора для получения подробностей о том, как обрабатываются значения, меньшие чем 0.

Параметры:
indices - массив индексов ячеек для выбора, non-null
Исключения:
NullPointerException - если заданный массив является null
См. также:
ListSelectionModel.addSelectionInterval(int, int), isSelectedIndex(int), addListSelectionListener(javax.swing.event.ListSelectionListener)

getSelectedValues

@Deprecated
@BeanProperty(bound=false)
public Object[] getSelectedValues()
Устарело.
С JDK 1.7 заменено на getSelectedValuesList()

Возвращает массив всех выбранных значений в порядке возрастания, основываясь на их индексах в списке.

Возвращает:
выбранные значения или пустой массив, если ничего не выбрано
См. также:
isSelectedIndex(int), getModel(), addListSelectionListener(javax.swing.event.ListSelectionListener)

getSelectedValuesList

@BeanProperty(bound=false)
public List<E> getSelectedValuesList()

Возвращает список всех выбранных элементов в порядке возрастания, основываясь на их индексах в списке.

Возвращает:
выбранные элементы или пустой список, если ничего не выбрано
С:
1.7
См. также:
isSelectedIndex(int), getModel(), addListSelectionListener(javax.swing.event.ListSelectionListener)

getSelectedIndex

public int getSelectedIndex()

Возвращает наименьший индекс выбранной ячейки; выбор при выборе только одного элемента в списке. При выборе нескольких элементов — это просто наименьший выбранный индекс. Возвращает -1, если ничего не выбрано.

Этот метод является обработкой, делегирующей вызов getMinSelectionIndex.

Возвращает:
наименьший индекс выбранной ячейки
См. также:
getMinSelectionIndex(), addListSelectionListener(javax.swing.event.ListSelectionListener)

getSelectedValue

@BeanProperty(bound=false)
public E getSelectedValue()

Возвращает значение для наименьшего индекса выбранной ячейки; выбранное значение при выборе только одного элемента в списке. При выборе нескольких элементов — это просто значение для наименьшего выбранного индекса. Возвращает null, если ничего не выбрано.

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

Возвращает:
первое выбранное значение
См. также:
getMinSelectionIndex(), getModel(), addListSelectionListener(javax.swing.event.ListSelectionListener)

setSelectedValue

public void setSelectedValue(Object anObject,
                             boolean shouldScroll)

Выбирает указанный объект из списка. Если переданный объект равен null, выбор очищается.

Параметры:
anObject - объект для выбора
shouldScroll - true, если список должен прокручиваться для отображения выбранного объекта, если он существует; в противном случае false

getPreferredScrollableViewportSize

@BeanProperty(bound=false)
public Dimension getPreferredScrollableViewportSize()

Вычисляет размер области просмотра, необходимый для отображения visibleRowCount строк. Возвращаемое значение этого метода зависит от ориентации макета:

VERTICAL:
Это тривиально, если и fixedCellWidth, и fixedCellHeight заданы (явно или путем указания значения прототипа ячейки). Ширина — просто fixedCellWidth плюс горизонтальные отступы списка. Высота — fixedCellHeight, умноженная на visibleRowCount, плюс вертикальные отступы списка.

Если либо fixedCellWidth, либо fixedCellHeight не указаны, используются эвристики. Если модель пуста, ширина — это fixedCellWidth, если больше 0, или жестко заданное значение 256. Высота — fixedCellHeight, умноженная на visibleRowCount, если fixedCellHeight больше 0, иначе — жестко заданное значение 16, умноженное на visibleRowCount.

Если модель не пуста, ширина — это предпочтительная ширина, обычно ширина самого широкого элемента списка. Высота — это высота ячейки с индексом 0, умноженная на visibleRowCount, плюс вертикальные отступы списка.

VERTICAL_WRAP или HORIZONTAL_WRAP:
Этот метод просто возвращает значение из getPreferredSize. ListUI списка ожидает переопределения getPreferredSize для возвращения подходящего значения.

Задано:
getPreferredScrollableViewportSize в интерфейсе Scrollable
Возвращает:
размер, содержащий размер области просмотра, необходимый для отображения visibleRowCount строк
См. также:
getPreferredScrollableViewportSize(), setPrototypeCellValue(E)

getScrollableUnitIncrement

public int getScrollableUnitIncrement(Rectangle visibleRect,
                                      int orientation,
                                      int direction)

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

Для горизонтальной прокрутки, если ориентация макета — VERTICAL, то возвращается размер шрифта списка (или 1, если шрифт — null).

Задано:
getScrollableUnitIncrement в интерфейсе Scrollable
Параметры:
visibleRect - область просмотра, видимая внутри области просмотра
orientation - SwingConstants.HORIZONTAL или SwingConstants.VERTICAL
direction - меньше или равно нулю для прокрутки вверх/назад, больше нуля для прокрутки вниз/вперед
Возвращает:
приращение "единицы" для прокрутки в указанном направлении; всегда положительное
Исключения:
IllegalArgumentException - если visibleRect равно null, или orientation не является одним из SwingConstants.VERTICAL или SwingConstants.HORIZONTAL
См. также:
getScrollableBlockIncrement(java.awt.Rectangle, int, int), Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)

getScrollableBlockIncrement

public int getScrollableBlockIncrement(Rectangle visibleRect,
                                       int orientation,
                                       int direction)

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

Для вертикальной прокрутки используются следующие правила:

  • при прокрутке вниз возвращает расстояние для прокрутки, чтобы последний видимый элемент стал первым полностью видимым
  • при прокрутке вверх возвращает расстояние для прокрутки, чтобы первый видимый элемент стал последним полностью видимым
  • возвращает visibleRect.height, если список пуст

Для горизонтальной прокрутки, когда ориентация макета — VERTICAL_WRAP или HORIZONTAL_WRAP:

  • при прокрутке вправо возвращает расстояние для прокрутки, чтобы последний видимый элемент стал первым полностью видимым
  • при прокрутке влево возвращает расстояние для прокрутки, чтобы первый видимый элемент стал последним полностью видимым
  • возвращает visibleRect.width, если список пуст

Для горизонтальной прокрутки и ориентации VERTICAL возвращает visibleRect.width.

Обратите внимание, что значение visibleRect должно быть равно this.getVisibleRect().

Задано:
getScrollableBlockIncrement в интерфейсе Scrollable
Параметры:
visibleRect - область просмотра, видимая внутри области просмотра
orientation - SwingConstants.HORIZONTAL или SwingConstants.VERTICAL
direction - меньше или равно нулю для прокрутки вверх/назад, больше нуля для прокрутки вниз/вперед
Возвращает:
приращение "блока" для прокрутки в указанном направлении; всегда положительное
Исключения:
IllegalArgumentException - если visibleRect равно null, или orientation не является одним из SwingConstants.VERTICAL или SwingConstants.HORIZONTAL
См. также:
getScrollableUnitIncrement(java.awt.Rectangle, int, int), Scrollable.getScrollableBlockIncrement(java.awt.Rectangle, int, int)

getScrollableTracksViewportWidth

@BeanProperty(bound=false)
public boolean getScrollableTracksViewportWidth()

Возвращает true, если этот JList отображается в JViewport и область просмотра шире, чем предпочтительная ширина списка, или если ориентация макета — HORIZONTAL_WRAP и visibleRowCount <= 0; в противном случае возвращает false.

Если false, то не отслеживайте ширину области просмотра. Это позволяет осуществлять горизонтальную прокрутку, если сам JViewport вложен в JScrollPane.

Определяется:
getScrollableTracksViewportWidth в интерфейсе Scrollable
Возвращает:
является ли область просмотра для вложения должна ли заставить ширину списка соответствовать своей
См. также:
Scrollable.getScrollableTracksViewportWidth()

getScrollableTracksViewportHeight

@BeanProperty(bound=false)
public boolean getScrollableTracksViewportHeight()

Возвращает true, если этот JList отображается в JViewport и область просмотра выше, чем предпочтительная высота списка, или если ориентация макета — VERTICAL_WRAP и visibleRowCount <= 0; в противном случае возвращает false.

Если false, то не отслеживайте высоту области просмотра. Это позволяет осуществлять вертикальную прокрутку, если сам JViewport вложен в JScrollPane.

Определяется:
getScrollableTracksViewportHeight в интерфейсе Scrollable
Возвращает:
следует ли области просмотра для вложения заставить высоту списка соответствовать своей
См. также:
Scrollable.getScrollableTracksViewportHeight()

paramString

protected String paramString()

Возвращает строковое представление этого JList. Этот метод предназначен только для отладки, и содержание и формат возвращаемой строки могут отличаться между реализациями. Возвращаемая строка может быть пустой, но не может быть null.

Переопределяет:
paramString в классе JComponent
Возвращает:
строковое представление этого JList.

getAccessibleContext

@BeanProperty(bound=false)
public AccessibleContext getAccessibleContext()

Получает связанный с этим JList контекст доступности. Для JList контекст доступности имеет вид AccessibleJList.

Новый экземпляр AccessibleJList создаётся при необходимости.

Определяется:
getAccessibleContext в интерфейсе Accessible
Переопределяет:
getAccessibleContext в классе Component
Возвращает:
контекст доступности, который является контекстом доступности этого JList

© 1993, 2020, 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/11/docs/api/java.desktop/javax/swing/JList.html

Spec-Zone .ru
спецификации, руководства, описания, API