Spec-Zone.ru › OpenJDK 17

Класс JList<E>

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JList<E>
Type Parameters:
E - тип элементов этого списка
Все реализованные интерфейсы:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable
@JavaBean(defaultProperty="UI", description="A component which allows for the selection of one or more objects from a list.") public class JList<E> extends JComponent implements Scrollable, Accessible
Компонент, отображающий список объектов и позволяющий пользователю выбрать один или несколько элементов. Отдельный модель, ListModel, поддерживает содержимое списка.

Легко отобразить массив или Vector объектов, используя конструктор JList, который автоматически создаёт для вас экземпляр read-only ListModel:

 
 // Create a JList that displays strings from an array

 String[] data = {"one", "two", "three", "four"};
 JList<String> myList = new JList<String>(data);

 // Create a JList that displays the superclasses of JList.class, by
 // creating it with a Vector populated with this data

 Vector<Class<?>> superClasses = new Vector<Class<?>>();
 Class<JList> rootClass = javax.swing.JList.class;
 for(Class<?> cls = rootClass; cls != null; cls = cls.getSuperclass()) {
     superClasses.addElement(cls);
 }
 JList<Class<?>> myList = new JList<Class<?>>(superClasses);

 // The automatically created model is stored in JList's "model"
 // property, which you can retrieve

 ListModel<Class<?>> model = myList.getModel();
 for(int i = 0; i < model.getSize(); i++) {
     System.out.println(model.getElementAt(i));
 }
 
 

Модель ListModel может быть предоставлена напрямую JList через конструктор или метод setModel. Содержимое не обязательно статичное - количество элементов и их значения могут изменяться со временем. Правильная реализация ListModel уведомляет набор javax.swing.event.ListDataListener, каждый раз, когда происходит изменение. Эти изменения характеризуются javax.swing.event.ListDataEvent, которое идентифицирует диапазон индексов списка, которые были изменены, добавлены или удалены. JList's ListUI отвечает за обновление визуального представления с изменениями, прослушивая модель.

Простые, динамически-содержимые, JList приложения могут использовать класс DefaultListModel для поддержания элементов списка. Этот класс реализует интерфейс ListModel и также предоставляет API, похожий на java.util.Vector. Приложения, которые нуждаются в более настраиваемой реализации ListModel, могут вместо этого захотеть наследовать от AbstractListModel, который предоставляет базовую поддержку управления и уведомления слушателей. Например, read-only реализация AbstractListModel:

 
 // This list model has about 2^16 elements.  Enjoy scrolling.

 ListModel<String> bigData = new AbstractListModel<String>() {
     public int getSize() { return Short.MAX_VALUE; }
     public String getElementAt(int index) { return "Index " + index; }
 };
 
 

Состояние выбора JList управляется другой отдельной моделью, экземпляром ListSelectionModel. JList инициализируется моделью выбора при создании и также содержит методы для запроса или установки этой модели выбора. Кроме того, JList предоставляет удобные методы для лёгкого управления выбором. Эти методы, такие как setSelectedIndex и getSelectedValue, это обертки, которые заботятся о деталях взаимодействия с моделью выбора. По умолчанию, модель выбора JList настроена для разрешения любой комбинации выбранных элементов в любое время; режим выбора MULTIPLE_INTERVAL_SELECTION. Режим выбора можно изменить напрямую на модели выбора или через оберточную функцию JList. Ответственность за обновление модели выбора в ответ на действия пользователя лежит на ListUI списка.

Правильная реализация ListSelectionModel уведомляет набор javax.swing.event.ListSelectionListener, каждый раз, когда происходит изменение выбора. Эти изменения характеризуются javax.swing.event.ListSelectionEvent, которые идентифицируют диапазон изменения выбора.

Предпочтительный способ прослушивания изменений выбора списка — это добавление ListSelectionListener непосредственно в JList. JList затем заботится о прослушивании модели выбора и уведомлении ваших слушателей об изменениях.

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

Отрисовка ячеек в JList обрабатывается делегатом, называемым рендерером ячеек, установленном в списке как свойство cellRenderer. Рендерер предоставляет java.awt.Component, который используется как "штамп" для отрисовки ячеек. Каждый раз, когда требуется отрисовать ячейку, ListUI списка запрашивает у рендерера ячейки компонент, перемещает его на место и заставляет его отрисовать содержимое ячейки при помощи метода paint. По умолчанию рендерер ячеек, который использует компонент JLabel для рендеринга, устанавливается списком через свойство ListUI. Вы можете заменить свой рендерер, например так:

 
  // Display an icon and a string for each object in the list.

 class MyCellRenderer extends JLabel implements ListCellRenderer<Object> {
     static final ImageIcon longIcon = new ImageIcon("long.gif");
     static final ImageIcon shortIcon = new ImageIcon("short.gif");

     // This is the only method defined by ListCellRenderer.
     // We just reconfigure the JLabel each time we're called.

     public Component getListCellRendererComponent(
       JList<?> list,           // the list
       Object value,            // value to display
       int index,               // cell index
       boolean isSelected,      // is the cell selected
       boolean cellHasFocus)    // does the cell have focus
     {
         String s = value.toString();
         setText(s);
         setIcon((s.length() > 10) ? longIcon : shortIcon);
         if (isSelected) {
             setBackground(list.getSelectionBackground());
             setForeground(list.getSelectionForeground());
         } else {
             setBackground(list.getBackground());
             setForeground(list.getForeground());
         }
         setEnabled(list.isEnabled());
         setFont(list.getFont());
         setOpaque(true);
         return this;
     }
 }

 myList.setCellRenderer(new MyCellRenderer());
 
 

Ещё одна задача рендерера ячеек - помощь в определении размеров. По умолчанию, ListUI списка определяет размер ячеек, запрашивая предпочтительный размер для каждого элемента списка. Это может быть дорого для больших списков. Чтобы избежать этих расчётов, вы можете установить fixedCellWidth и fixedCellHeight в списке, или эти значения могут быть рассчитаны автоматически на основе единственного прототипного значения:

 
 JList<String> bigDataList = new JList<String>(bigData);

 // We don't want the JList implementation to compute the width
 // or height of all of the list cells, so we give it a string
 // that's as big as we'll need for any cell.  It uses this to
 // compute values for the fixedCellWidth and fixedCellHeight
 // properties.

 bigDataList.setPrototypeCellValue("Index 1234567890");
 
 

JList не реализует прокрутку напрямую. Чтобы создать список с прокруткой, сделайте его viewport-представлением JScrollPane. Например:

 JScrollPane scrollPane = new JScrollPane(myList);

 // Or in two steps:
 JScrollPane scrollPane = new JScrollPane();
 scrollPane.getViewport().setView(myList);
 

JList не предоставляет особой обработки двойных или тройных (или N) щелчков мыши, но легко добавить обработчик MouseListener, если вы хотите предпринять какие-либо действия на таких событиях. Используйте метод locationToIndex для определения ячейки, по которой был кликнут. Например:

 MouseListener mouseListener = new MouseAdapter() {
     public void mouseClicked(MouseEvent e) {
         if (e.getClickCount() == 2) {
             int index = list.locationToIndex(e.getPoint());
             System.out.println("Double clicked on Item " + index);
          }
     }
 };
 list.addMouseListener(mouseListener);
 

Предупреждение: Swing не потокобезопасен. Для получения дополнительной информации см. Политику потоков Swing.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими ту же версию Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans была добавлена в пакет java.beans. Пожалуйста, см. XMLEncoder.

См. Как использовать списки в Java Tutorial для дополнительной документации.

Since:
1.2
См. также:
  • ListModel
  • AbstractListModel
  • DefaultListModel
  • ListSelectionModel
  • DefaultListSelectionModel
  • ListCellRenderer
  • DefaultListCellRenderer

Краткое описание вложенных классов

Модификатор и тип Класс Описание
protected class  JList.AccessibleJList
Этот класс реализует поддержку доступности для класса JList.
static final class  JList.DropLocation
Подкласс TransferHandler.DropLocation, представляющий место падения для JList.

Вложенные классы/интерфейсы, объявленные в классе javax.swing.JComponent

JComponent.AccessibleJComponent

Вложенные классы/интерфейсы, объявленные в классе java.awt.Container

Container.AccessibleAWTContainer

Вложенные классы/интерфейсы, объявленные в классе java.awt.Component

Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy

Краткое описание полей

Модификатор и тип Поле Описание
static final int HORIZONTAL_WRAP
Указывает "газетный стиль" макета с ячейками, расположенными горизонтально, а затем вертикально.
static final int VERTICAL
Указывает вертикальный макет ячеек в одном столбце; макет по умолчанию.
static final int VERTICAL_WRAP
Указывает "газетный стиль" макета с ячейками, расположенными вертикально, а затем горизонтально.

Поля, объявленные в классе javax.swing.JComponent

listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW

Поля, объявленные в классе java.awt.Component

accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

Поля, объявленные в интерфейсе java.awt.image.ImageObserver

ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH

Краткое описание конструкторов

Конструктор Описание
JList()
Создаёт JList с пустой, read-only, моделью.
JList(E[] listData)
Создаёт JList, отображающий элементы в указанном массиве.
JList(Vector<? extends E> listData)
Создаёт JList, отображающий элементы в указанном Vector.
JList(ListModel<E> dataModel)
Создаёт JList, отображающий элементы из указанной, non-null, модели.

Краткое описание методов

Modifier and Type Method Description
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()
Возвращает, включена ли автоматическая обработка перетаскивания.
final JList.DropLocation getDropLocation()
Возвращает расположение, которое этот компонент должен визуально указывать как место падения во время операции перетаскивания над компонентом, или null, если никакое расположение в данный момент не должно отображаться.
final DropMode getDropMode()
Возвращает режим падения для этого компонента.
int getFirstVisibleIndex()
Возвращает наименьший индекс элемента списка, который в настоящее время виден.
int getFixedCellHeight()
Возвращает значение свойства fixedCellHeight.
int getFixedCellWidth()
Возвращает значение свойства fixedCellWidth.
int getLastVisibleIndex()
Возвращает наибольший индекс элемента списка, который в настоящее время виден.
int getLayoutOrientation()
Возвращает свойство ориентации макета для списка: VERTICAL, если макет — это один столбец ячеек; VERTICAL_WRAP, если макет — это макет «газетного стиля» с вертикальным, а затем горизонтальным потоком содержимого; или HORIZONTAL_WRAP, если макет — это макет «газетного стиля» с горизонтальным, а затем вертикальным потоком содержимого.
int getLeadSelectionIndex()
Возвращает индекс ведущего выбора.
ListSelectionListener[] getListSelectionListeners()
Возвращает массив всех добавленных к этому JList ListSelectionListener через addListSelectionListener.
int getMaxSelectionIndex()
Возвращает наибольший индекс выбранной ячейки или -1, если выбор пуст.
int getMinSelectionIndex()
Возвращает наименьший индекс выбранной ячейки или -1, если выбор пуст.
ListModel<E> getModel()
Возвращает модель данных, которая содержит список элементов, отображаемых компонентом JList.
int getNextMatch(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)
Включает или выключает автоматическую обработку перетаскивания.
final 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update

Methods declared in class java.awt.Container

add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree

Methods declared in class java.awt.Component

action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle

Methods declared in class java.lang.Object

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

Подробное описание полей

VERTICAL

public static final int VERTICAL
Указывает вертикальную компоновку ячеек в один столбец; по умолчанию.
Since:
1.4
См. также:
  • setLayoutOrientation(int)
  • Значения константных полей

VERTICAL_WRAP

public static final int VERTICAL_WRAP
Указывает компоновку в стиле газеты, с ячейками, выстраивающимися по вертикали, а затем по горизонтали.
Since:
1.4
См. также:
  • setLayoutOrientation(int)
  • Значения константных полей

HORIZONTAL_WRAP

public static final int HORIZONTAL_WRAP
Указывает компоновку в стиле газеты, с ячейками, выстраивающимися по горизонтали, а затем по вертикали.
Since:
1.4
См. также:
  • setLayoutOrientation(int)
  • Значения константных полей

Подробное описание конструкторов

JList

public JList(ListModel<E> dataModel)
Создаёт JList, отображающий элементы из заданной, non-null, модели. Все JList конструкторы делегируют вызов этому.

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

Параметры:
dataModel - модель для списка
Исключения:
IllegalArgumentException - если модель null

JList

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

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

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

JList

public JList(Vector<? extends E> listData)
Создаёт JList, отображающий элементы в заданном Vector. Этот конструктор создаёт модель только для чтения для заданного Vector, а затем делегирует вызов конструктору, принимающему ListModel.

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

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

JList

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

Подробное описание методов

getUI

public ListUI getUI()
Возвращает ListUI, объект отображения, который отрисовывает этот компонент.
Overrides:
getUI в классе JComponent
Возвращает:
объект ListUI, который отрисовывает этот компонент

setUI

@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component\'s LookAndFeel.") public void setUI(ListUI ui)
Устанавливает ListUI, объект отображения, который отрисовывает этот компонент.
Параметры:
ui - объект ListUI
См. также:
  • UIDefaults.getUI(javax.swing.JComponent)

updateUI

public void updateUI()
Сбрасывает свойство ListUI, установив его в значение, заданное текущей внешностью. Если текущий компонент отображения ячейки был установлен разработчиком (а не самой внешностью), это также вызывает обновление компонента отображения ячейки и его потомков путём вызова SwingUtilities.updateComponentTreeUI на нём.
Overrides:
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, который определяет внешний вид для этого компонента.
Overrides:
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.

Parameters:
height - высота, которая должна использоваться для всех ячеек в списке
See Also:
  • setPrototypeCellValue(E)
  • setFixedCellWidth(int)
  • Container.addPropertyChangeListener(java.beans.PropertyChangeListener)

getCellRenderer

public ListCellRenderer<? super E> getCellRenderer()
Возвращает объект, ответственный за отрисовку элементов списка.
Returns:
значение свойства cellRenderer
See Also:
  • 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.

Parameters:
cellRenderer - ListCellRenderer, который рисует ячейки списка
See Also:
  • getCellRenderer()

getSelectionForeground

public Color getSelectionForeground()
Возвращает цвет, используемый для отрисовки переднего плана выделенных элементов. DefaultListCellRenderer использует этот цвет для отрисовки переднего плана элементов в выделенном состоянии, как и рендеры, установленные большинством реализаций ListUI.
Returns:
цвет для отрисовки переднего плана выделенных элементов
See Also:
  • setSelectionForeground(java.awt.Color)
  • DefaultListCellRenderer

setSelectionForeground

@BeanProperty(visualUpdate=true, description="The foreground color of selected cells.") public void setSelectionForeground(Color selectionForeground)
Устанавливает цвет, используемый для отрисовки переднего плана выделенных элементов, который рендеры ячеек могут использовать для отрисовки текста и графики. DefaultListCellRenderer использует этот цвет для отрисовки переднего плана элементов в выделенном состоянии, как и рендеры, установленные большинством реализаций ListUI.

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

Это свойство, связанное с JavaBeans.

Parameters:
selectionForeground - цвет Color для использования в переднем плане для выделенных элементов списка
See Also:
  • 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.
Returns:
цвет для отрисовки фона выделенных элементов
See Also:
  • setSelectionBackground(java.awt.Color)
  • DefaultListCellRenderer

setSelectionBackground

@BeanProperty(visualUpdate=true, description="The background color of selected cells.") public void setSelectionBackground(Color selectionBackground)
Устанавливает цвет, используемый для отрисовки фона выделенных элементов, который рендеры ячеек могут использовать для заполнения выделенных ячеек. DefaultListCellRenderer использует этот цвет для заполнения фона элементов в выделенном состоянии, как и рендеры, установленные большинством реализаций ListUI.

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

Это свойство, связанное с JavaBeans.

Parameters:
selectionBackground - Color для использования в качестве фона выделенных ячеек
See Also:
  • 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) для получения подробной информации о том, как интерпретировать это значение.
Returns:
значение свойства visibleRowCount.
See Also:
  • 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.

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

getLayoutOrientation

public int getLayoutOrientation()
Возвращает свойство ориентации макета для списка: VERTICAL, если макет представляет собой один столбец ячеек; VERTICAL_WRAP, если макет — "новостная статья" с вертикальным, а затем горизонтальным потоком содержимого; или HORIZONTAL_WRAP, если макет — "новостная статья" с горизонтальным, а затем вертикальным потоком содержимого.
Returns:
значение свойства layoutOrientation
Since:
1.4
See Also:
  • 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,HORIZONTAL_WRAP и VERTICAL_WRAP
Значение Описание
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:
  • getLayoutOrientation()
  • setVisibleRowCount(int)
  • getScrollableTracksViewportHeight()
  • getScrollableTracksViewportWidth()

getFirstVisibleIndex

@BeanProperty(bound=false) public int getFirstVisibleIndex()
Возвращает наименьший индекс списка, который в данный момент виден. В ориентации слева направо componentOrientation первая видимая ячейка находится ближе к верхнему левому углу списка. В ориентации справа налево она находится ближе к верхнему правому углу. Если ничего не видно или список пуст, возвращается -1. Обратите внимание, что возвращаемая ячейка может быть только частично видимой.
Returns:
индекс первой видимой ячейки
See Also:
  • getLastVisibleIndex()
  • JComponent.getVisibleRect()

getLastVisibleIndex

@BeanProperty(bound=false) public int getLastVisibleIndex()
Возвращает наибольший индекс списка, который в данный момент виден. Если ничего не видно или список пуст, возвращается -1. Обратите внимание, что возвращаемая ячейка может быть только частично видимой.
Returns:
индекс последней видимой ячейки
See Also:
  • getFirstVisibleIndex()
  • JComponent.getVisibleRect()

ensureIndexIsVisible

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

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

Parameters:
index - индекс ячейки, которую нужно сделать видимой
See Also:
  • 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 списка.

Parameters:
b - включить или выключить автоматическую обработку перетаскивания
Throws:
HeadlessException - если b равно true и GraphicsEnvironment.isHeadless() возвращает true
Since:
1.4
See Also:
  • GraphicsEnvironment.isHeadless()
  • getDragEnabled()
  • JComponent.setTransferHandler(javax.swing.TransferHandler)
  • TransferHandler

getDragEnabled

public boolean getDragEnabled()
Возвращает, включена ли автоматическая обработка перетаскивания.
Returns:
значение свойства dragEnabled
Since:
1.4
See Also:
  • 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, принимающий выгрузки.
Parameters:
dropMode - используемый режим выгрузки
Throws:
IllegalArgumentException - если режим выгрузки не поддерживается или null
Since:
1.6
See Also:
  • getDropMode()
  • getDropLocation()
  • JComponent.setTransferHandler(javax.swing.TransferHandler)
  • TransferHandler

getDropMode

public final DropMode getDropMode()
Возвращает режим выгрузки для этого компонента.
Returns:
режим выгрузки для этого компонента
Since:
1.6
See Also:
  • setDropMode(javax.swing.DropMode)

getDropLocation

@BeanProperty(bound=false) public final JList.DropLocation getDropLocation()
Возвращает расположение, которое этот компонент должен визуально указывать как расположение выгрузки во время операции перетаскивания и перемещения над компонентом, или null, если расположение в данный момент не должно отображаться.

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

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

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

Returns:
место выгрузки
Since:
1.6
See Also:
  • setDropMode(javax.swing.DropMode)
  • TransferHandler.canImport(TransferHandler.TransferSupport)

getNextMatch

public int getNextMatch(String prefix, int startIndex, Position.Bias bias)
Возвращает следующий элемент списка, значение toString которого начинается с заданного префикса.
Parameters:
prefix - строка для проверки соответствия
startIndex - индекс для начала поиска
bias - направление поиска, либо Position.Bias.Forward, либо Position.Bias.Backward.
Returns:
индекс следующего элемента списка, начинающегося с префикса; в противном случае -1
Throws:
IllegalArgumentException - если префикс null или startIndex находится за пределами границ
Since:
1.4

getToolTipText

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

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

Overrides:
getToolTipText в классе JComponent
Parameters:
event - MouseEvent для получения текста всплывающей подсказки
Returns:
строка, содержащая всплывающую подсказку
See Also:
  • JComponent.setToolTipText(java.lang.String)
  • JComponent.getToolTipText()

locationToIndex

public int locationToIndex(Point location)
Возвращает индекс ячейки, наиболее близкой к заданной позиции в системе координат списка. Чтобы определить, действительно ли ячейка содержит указанную позицию, сравните точку с границами ячейки, как предоставлены getCellBounds. Этот метод возвращает -1, если модель пуста.

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

Parameters:
location - координаты точки
Returns:
индекс ячейки, наиболее близкой к заданной позиции, или -1

indexToLocation

public Point indexToLocation(int index)
Возвращает начало указанного элемента в системе координат списка. Этот метод возвращает null, если индекс недействителен.

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

Parameters:
index - индекс ячейки
Returns:
начало ячейки, или null

getCellBounds

public Rectangle getCellBounds(int index0, int index1)
Возвращает прямоугольник границ, в системе координат списка, для диапазона ячеек, заданных двумя индексами. Эти индексы могут быть заданы в любом порядке.

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

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

Parameters:
index0 - первый индекс в диапазоне
index1 - второй индекс в диапазоне
Returns:
прямоугольник границ для диапазона ячеек, или null

getModel

public ListModel<E> getModel()
Возвращает модель данных, которая содержит список элементов, отображаемых компонентом JList.
Returns:
ListModel, предоставляющий отображаемый список элементов
See Also:
  • setModel(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.

Parameters:
model - ListModel, предоставляющий список элементов для отображения
Throws:
IllegalArgumentException - если model является null
See Also:
  • getModel()
  • clearSelection()

setListData

public void setListData(E[] listData)
Создаёт чётко заданный ListModel из массива элементов и вызывает setModel с этой моделью.

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

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

setListData

public void setListData(Vector<? extends E> listData)
Создаёт чётко заданный ListModel из Vector и вызывает setModel с этой моделью.

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

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

createSelectionModel

protected ListSelectionModel createSelectionModel()
Возвращает экземпляр DefaultListSelectionModel; вызывается во время создания для инициализации свойства модели выделения списка.
Returns:
DefaultListSelecitonModel, используемый для инициализации свойства модели выделения списка во время создания
See Also:
  • setSelectionModel(javax.swing.ListSelectionModel)
  • DefaultListSelectionModel

getSelectionModel

public ListSelectionModel getSelectionModel()
Возвращает текущую модель выделения. Модель выделения сохраняет состояние выделения списка. Смотрите документацию класса для получения более подробной информации.
Returns:
ListSelectionModel, которая сохраняет выделения списка
See Also:
  • setSelectionModel(javax.swing.ListSelectionModel)
  • ListSelectionModel

fireSelectionValueChanged

protected void fireSelectionValueChanged(int firstIndex, int lastIndex, boolean isAdjusting)
Уведомляет ListSelectionListener, добавленные непосредственно в список, об изменениях в модели выделения. JList прослушивает изменения, внесённые в модель выделения, и передаёт уведомления слушателям, добавленным в список напрямую, вызывая этот метод.

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

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

addListSelectionListener

public void addListSelectionListener(ListSelectionListener listener)
Добавляет слушателя в список, чтобы получать уведомления каждый раз, когда происходит изменение выделения; предпочтительный способ прослушивания изменений состояния выделения. JList следит за изменениями состояния выделения в модели выделения и уведомляет данного слушателя о каждом изменении. ListSelectionEvent, отправленные слушателю, имеют свойство source, установленное в этот список.
Parameters:
listener - добавляемый ListSelectionListener
See Also:
  • getSelectionModel()
  • getListSelectionListeners()

removeListSelectionListener

public void removeListSelectionListener(ListSelectionListener listener)
Удаляет слушателя выделения из списка.
Parameters:
listener - удаляемый ListSelectionListener
See Also:
  • addListSelectionListener(javax.swing.event.ListSelectionListener)
  • getSelectionModel()

getListSelectionListeners

@BeanProperty(bound=false) public ListSelectionListener[] getListSelectionListeners()
Возвращает массив всех ListSelectionListener, добавленных к этому JList с помощью addListSelectionListener.
Возвращает:
все ListSelectionListener в этом списке, или пустой массив, если слушатели не были добавлены
Since:
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).

Parameters:
b - новое значение свойства
See Also:
  • ListSelectionModel.setValueIsAdjusting(boolean)
  • ListSelectionEvent.getValueIsAdjusting()
  • getValueIsAdjusting()

getValueIsAdjusting

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

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

Returns:
значение свойства модели выбора isAdjusting.
See Also:
  • setValueIsAdjusting(boolean)
  • ListSelectionModel.getValueIsAdjusting()

getSelectedIndices

public int[] getSelectedIndices()
Возвращает массив всех выбранных индексов в возрастающем порядке.
Returns:
все выбранные индексы в возрастающем порядке или пустой массив, если ничего не выбрано
See Also:
  • 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.
Parameters:
index - индекс ячейки для выбора
See Also:
  • ListSelectionModel.setSelectionInterval(int, int)
  • isSelectedIndex(int)
  • addListSelectionListener(javax.swing.event.ListSelectionListener)

setSelectedIndices

public void setSelectedIndices(int[] indices)
Изменяет выбор на набор индексов, указанных в заданном массиве. Индексы, большие или равные размеру модели, игнорируются. Это метод-удобство, который очищает выбор, а затем использует addSelectionInterval для модели выбора, чтобы добавить индексы. Обратитесь к документации используемого класса модели выбора для получения подробностей о том, как обрабатываются значения, меньшие чем 0.
Parameters:
indices - массив индексов ячеек для выбора, non-null
Throws:
NullPointerException - если заданный массив является null
See Also:
  • ListSelectionModel.addSelectionInterval(int, int)
  • isSelectedIndex(int)
  • addListSelectionListener(javax.swing.event.ListSelectionListener)

getSelectedValues

@Deprecated @BeanProperty(bound=false) public Object[] getSelectedValues()
Deprecated.
С JDK 1.7, заменён на getSelectedValuesList()
Возвращает массив всех выбранных значений в возрастающем порядке, основанном на их индексах в списке.
Returns:
выбранные значения или пустой массив, если ничего не выбрано
See Also:
  • isSelectedIndex(int)
  • getModel()
  • addListSelectionListener(javax.swing.event.ListSelectionListener)

getSelectedValuesList

@BeanProperty(bound=false) public List<E> getSelectedValuesList()
Возвращает список всех выбранных элементов в возрастающем порядке, основанном на их индексах в списке.
Returns:
выбранные элементы или пустой список, если ничего не выбрано
Since:
1.7
See Also:
  • isSelectedIndex(int)
  • getModel()
  • addListSelectionListener(javax.swing.event.ListSelectionListener)

getSelectedIndex

public int getSelectedIndex()
Возвращает наименьший индекс выбранной ячейки; выбор, когда в списке выбран только один элемент. Когда выбрано несколько элементов, это просто наименьший выбранный индекс. Возвращает -1, если выбор отсутствует.

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

Returns:
наименьший индекс выбранной ячейки
See Also:
  • getMinSelectionIndex()
  • addListSelectionListener(javax.swing.event.ListSelectionListener)

getSelectedValue

@BeanProperty(bound=false) public E getSelectedValue()
Возвращает значение для наименьшего индекса выбранной ячейки; выбранное значение, когда в списке выбран только один элемент. Когда выбрано несколько элементов, это просто значение для наименьшего выбранного индекса. Возвращает null, если выбор отсутствует.

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

Returns:
первое выбранное значение
See Also:
  • getMinSelectionIndex()
  • getModel()
  • addListSelectionListener(javax.swing.event.ListSelectionListener)

setSelectedValue

public void setSelectedValue(Object anObject, boolean shouldScroll)
Выбирает указанный объект из списка. Если переданный объект равен null, выбор очищается.
Parameters:
anObject - объект для выбора
shouldScroll - true, если список должен прокрутиться для отображения выбранного объекта, если он существует; в противном случае false

getPreferredScrollableViewportSize

@BeanProperty(bound=false) public Dimension getPreferredScrollableViewportSize()
Вычисляет размер области просмотра, необходимый для отображения visibleRowCount строк. Значение, возвращаемое этим методом, зависит от ориентации макета:

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

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

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

VERTICAL_WRAP или HORIZONTAL_WRAP:
Этот метод просто возвращает значение из getPreferredSize. Ожидается, что ListUI списка переопределит getPreferredSize, чтобы вернуть соответствующее значение.

Specified by:
getPreferredScrollableViewportSize в интерфейсе Scrollable
Returns:
размер области просмотра, необходимый для отображения visibleRowCount строк
See Also:
  • getPreferredScrollableViewportSize()
  • setPrototypeCellValue(E)

getScrollableUnitIncrement

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

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

Specified by:
getScrollableUnitIncrement in interface Scrollable
Parameters:
visibleRect - область просмотра, видимая в окне просмотра
orientation - SwingConstants.HORIZONTAL или SwingConstants.VERTICAL
direction - меньше или равно нулю для прокрутки вверх/назад, больше нуля для прокрутки вниз/вперед
Returns:
приращение "единицы" для прокрутки в заданном направлении; всегда положительное
Throws:
IllegalArgumentException - если visibleRect равно null, или orientation не является одним из SwingConstants.VERTICAL или SwingConstants.HORIZONTAL
See Also:
  • 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().

Specified by:
getScrollableBlockIncrement in interface Scrollable
Parameters:
visibleRect - область просмотра, видимая в окне просмотра
orientation - SwingConstants.HORIZONTAL или SwingConstants.VERTICAL
direction - меньше или равно нулю для прокрутки вверх/назад, больше нуля для прокрутки вниз/вперед
Returns:
приращение "блока" для прокрутки в заданном направлении; всегда положительное
Throws:
IllegalArgumentException - если visibleRect равно null, или orientation не является одним из SwingConstants.VERTICAL или SwingConstants.HORIZONTAL
See Also:
  • 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.

Specified by:
getScrollableTracksViewportWidth in interface Scrollable
Returns:
указывает, следует ли вложенному окну просмотра принудительно устанавливать ширину списка равной своей собственной
See Also:
  • Scrollable.getScrollableTracksViewportWidth()

getScrollableTracksViewportHeight

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

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

Specified by:
getScrollableTracksViewportHeight in interface Scrollable
Returns:
указывает, следует ли вложенному окну просмотра принудительно устанавливать высоту списка равной своей собственной
See Also:
  • Scrollable.getScrollableTracksViewportHeight()

paramString

protected String paramString()
Возвращает строковое представление этого JList. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут различаться между реализациями. Возвращаемая строка может быть пустой, но не может быть null.
Overrides:
paramString in class JComponent
Returns:
строковое представление этого JList.

getAccessibleContext

@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этим JList. Для JList AccessibleContext представляет собой AccessibleJList.

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

Specified by:
getAccessibleContext in interface Accessible
Overrides:
getAccessibleContext in class Component
Returns:
AccessibleJList, который является AccessibleContext этого JList

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/swing/JList.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API