Spec-Zone.ru › OpenJDK 21

Класс 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, управляет содержимым списка.

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

 
 // Create a JList that displays strings from an array

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 myList.setCellRenderer(new MyCellRenderer());
 
 

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

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

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

 bigDataList.setPrototypeCellValue("Index 1234567890");
 
 

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

 JScrollPane scrollPane = new JScrollPane(myList);

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

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

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

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

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

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

Since:
1.2
См. также:
  • 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 с пустой, неизменяемой моделью.
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()
Возвращает массив всех 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)
Включает или выключает автоматическую обработку перетаскивания.
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 , установив его в значение, предоставляемое текущим визуальным оформлением.

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

addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update

Методы, объявленные в классе java.awt.Container

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

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

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

Методы, объявленные в классе java.lang.Object

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

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

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, объект отображения и ощущений, отображающий данный компонент.
Переопределяет:
getUI в классе JComponent
Возвращает:
объект отображения и ощущений, отображающий данный компонент

setUI

@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component\'s LookAndFeel.") public void setUI(ListUI ui)
Устанавливает ListUI, объект отображения и ощущений, отображающий этот компонент.
Параметры:
ui - объект отображения и ощущений
См. также:
  • 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)
  • getFixedCellWidth()
  • 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(), который используется для вычисления предпочтительного размера содержащего viewport. См. документацию этого метода для получения более подробной информации.

В ориентациях 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 laid out.") public void setLayoutOrientation(int layoutOrientation)
Определяет способ вывода ячеек списка. Рассмотрим JList с пятью ячейками. Ячейки могут быть выведены одним из следующих способов:
 VERTICAL:          0
                    1
                    2
                    3
                    4

 HORIZONTAL_WRAP:   0  1  2
                    3  4

 VERTICAL_WRAP:     0  3
                    1  4
                    2
 

Ниже приведено описание этих способов вывода:

Описание способов вывода VERTICAL,HORIZONTAL_WRAP и 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
Параметры:
event - MouseEvent для получения текста всплывающей подсказки
Возвращает:
строку, содержащую текст подсказки
См. также:
  • 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 следит за изменениями состояния выделения в модели выделения и уведомляет данного слушателя о каждом изменении. ListSelectionEvent отправленные слушателю имеют свойство 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) для получения более подробной информации.

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 in interface Scrollable
Returns:
размер, содержащий размер области просмотра, необходимый для отображения visibleRowCount строк
See Also:
  • getPreferredScrollableViewportSize()
  • setPrototypeCellValue(E)

getScrollableUnitIncrement

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

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

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

paramString

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

getAccessibleContext

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

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

Specified by:
getAccessibleContext в интерфейсе Accessible
Overrides:
getAccessibleContext в классе Component
Returns:
объект AccessibleJList, который служит AccessibleContext этого JList

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

Spec-Zone.ru

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