Spec-Zone.ru › OpenJDK 8

Класс 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

public class JList<E>
extends JComponent
implements Scrollable, Accessible

Компонент, отображающий список объектов и позволяющий пользователю выбрать один или несколько элементов. Отдельный модельный класс, ListModel, управляет содержимым списка.

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

// Create a JList that displays strings from an array

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 class MyCellRenderer extends JLabel implements ListCellRenderer<Object> {
     final static ImageIcon longIcon = new ImageIcon("long.gif");
     final static 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 для получения дополнительной документации.

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

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

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

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

static class  JList.DropLocation

Подкласс TransferHandler.DropLocation, представляющий место падения для JList.

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

JComponent.AccessibleJComponent

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

Container.AccessibleAWTContainer

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

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

Поля

Модификатор и тип Поле и описание
static int HORIZONTAL_WRAP

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

static int VERTICAL

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

static int VERTICAL_WRAP

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

Поля, унаследованные от класса javax.swing.JComponent

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

Поля, унаследованные от класса java.awt.Component

accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

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

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

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

Конструктор и описание
JList()

Создает JList с пустой, read-only моделью.

JList(E[] listData)

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

JList(ListModel<E> dataModel)

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

JList(Vector<? extends E> listData)

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

Методы

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

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

void addSelectionInterval(int anchor, int lead)

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

void clearSelection()

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

protected ListSelectionModel createSelectionModel()

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

void ensureIndexIsVisible(int index)

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

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

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

AccessibleContext getAccessibleContext()

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

int getAnchorSelectionIndex()

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

Rectangle getCellBounds(int index0, int index1)

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

ListCellRenderer<? super E> getCellRenderer()

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

boolean getDragEnabled()

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

JList.DropLocation getDropLocation()

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

DropMode getDropMode()

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

int getFirstVisibleIndex()

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

int getFixedCellHeight()

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

int getFixedCellWidth()

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

int getLastVisibleIndex()

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

int getLayoutOrientation()

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

int getLeadSelectionIndex()

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

ListSelectionListener[] getListSelectionListeners()

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

int getMaxSelectionIndex()

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

int getMinSelectionIndex()

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

ListModel<E> getModel()

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

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

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

Dimension getPreferredScrollableViewportSize()

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

E getPrototypeCellValue()

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

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

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

boolean getScrollableTracksViewportHeight()

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

boolean getScrollableTracksViewportWidth()

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

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

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

int getSelectedIndex()

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

int[] getSelectedIndices()

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

E getSelectedValue()

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

Object[] getSelectedValues()

Устарело.

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

List<E> getSelectedValuesList()

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

Color getSelectionBackground()

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

Color getSelectionForeground()

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

int getSelectionMode()

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

ListSelectionModel getSelectionModel()

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

String getToolTipText(MouseEvent event)

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

ListUI getUI()

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

String getUIClassID()

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

boolean getValueIsAdjusting()

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

int getVisibleRowCount()

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

Point indexToLocation(int index)

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

boolean isSelectedIndex(int index)

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

boolean isSelectionEmpty()

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

int locationToIndex(Point location)

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

protected String paramString()

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

void removeListSelectionListener(ListSelectionListener listener)

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

void removeSelectionInterval(int index0, int index1)

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

void setCellRenderer(ListCellRenderer<? super E> cellRenderer)

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

void setDragEnabled(boolean b)

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

void setDropMode(DropMode dropMode)

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

void setFixedCellHeight(int height)

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

void setFixedCellWidth(int width)

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

void setLayoutOrientation(int layoutOrientation)

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

void setListData(E[] listData)

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

void setListData(Vector<? extends E> listData)

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

void setModel(ListModel<E> model)

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

void setPrototypeCellValue(E prototypeCellValue)

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

void setSelectedIndex(int index)

Выбирает одну ячейку.

void setSelectedIndices(int[] indices)

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

void setSelectedValue(Object anObject, boolean shouldScroll)

Выбирает указанный объект из списка.

void setSelectionBackground(Color selectionBackground)

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

void setSelectionForeground(Color selectionForeground)

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

void setSelectionInterval(int anchor, int lead)

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

void setSelectionMode(int selectionMode)

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

void setSelectionModel(ListSelectionModel selectionModel)

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

void setUI(ListUI ui)

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

void setValueIsAdjusting(boolean b)

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

void setVisibleRowCount(int visibleRowCount)

Устанавливает свойство visibleRowCount, имеющее разное значение в зависимости от ориентации макета: для ориентации макета VERTICAL это устанавливает предпочтительное количество строк для отображения без необходимости прокрутки; для других ориентаций это влияет на обтекание ячеек.

void updateUI()

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

Methods inherited from class javax.swing.JComponent

addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, 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 inherited from 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 inherited from 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, 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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle

Methods inherited from class java.lang.Object

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

Поля

VERTICAL

public static final int VERTICAL

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

С версии:
1.4
См. также:
setLayoutOrientation(int), Constant Field Values

VERTICAL_WRAP

public static final int VERTICAL_WRAP

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

С версии:
1.4
См. также:
setLayoutOrientation(int), Constant Field Values

HORIZONTAL_WRAP

public static final int HORIZONTAL_WRAP

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

С версии:
1.4
См. также:
setLayoutOrientation(int), Constant Field Values

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

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, объект внешнего вида, который отображает этот компонент.

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

setUI

public void setUI(ListUI ui)

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

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

updateUI

public void updateUI()

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

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

getUIClassID

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

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

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

public void setFixedCellHeight(int height)

Устанавливает фиксированное значение, которое будет использоваться для высоты каждой ячейки в списке. Если height равно -1, высоты ячеек вычисляются в ListUI путем применения getPreferredSize к компоненту средства визуализации ячеек для каждого элемента списка.

Значение этого свойства по умолчанию — -1.

Это привязанное свойство JavaBeans.

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

getCellRenderer

public ListCellRenderer<? super E> getCellRenderer()

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

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

setCellRenderer

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

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

Если свойство prototypeCellValue равно non-null, установка средства визуализации ячеек также приводит к пересчету свойств fixedCellWidth и fixedCellHeight. Однако генерируется только одно PropertyChangeEvent — для свойства cellRenderer.

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

Это привязанное свойство JavaBeans.

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

getSelectionForeground

public Color getSelectionForeground()

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

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

setSelectionForeground

public void setSelectionForeground(Color selectionForeground)

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

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

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

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

getSelectionBackground

public Color getSelectionBackground()

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

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

setSelectionBackground

public void setSelectionBackground(Color selectionBackground)

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

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

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

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

getVisibleRowCount

public int getVisibleRowCount()

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

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

setVisibleRowCount

public void setVisibleRowCount(int visibleRowCount)

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

В ориентации VERTICAL:
Установка этого свойства влияет на возвращаемое значение метода getPreferredScrollableViewportSize(), который используется для вычисления предпочтительного размера содержащей области просмотра. Подробности см. в документации этого метода.

В ориентациях HORIZONTAL_WRAP и VERTICAL_WRAP:
Это влияет на то, как обрезаются ячейки. Подробности см. в документации setLayoutOrientation(int).

Значение по умолчанию этого свойства - 8.

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

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

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

getLayoutOrientation

public int getLayoutOrientation()

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

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

setLayoutOrientation

public void setLayoutOrientation(int layoutOrientation)

Определяет способ вывода ячеек списка. Рассмотрим JList с пятью ячейками. Ячейки могут быть выведены одним из следующих способов:

VERTICAL:          0
                    1
                    2
                    3
                    4

 HORIZONTAL_WRAP:   0  1  2
                    3  4

 VERTICAL_WRAP:     0  3
                    1  4
                    2

Описание этих макетов приведено ниже:

Значение

Описание

VERTICAL Ячейки выводятся вертикально в одном столбце.
HORIZONTAL_WRAP Ячейки выводятся горизонтально, переходя на новую строку при необходимости. Если свойство visibleRowCount меньше или равно нулю, обрезка определяется шириной списка; в противном случае обрезка выполняется таким образом, чтобы гарантировать visibleRowCount строк в списке.
VERTICAL_WRAP Ячейки выводятся вертикально, переходя на новый столбец при необходимости. Если свойство visibleRowCount меньше или равно нулю, обрезка определяется высотой списка; в противном случае обрезка выполняется в visibleRowCount строках.

Значение по умолчанию этого свойства - VERTICAL.

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

getFirstVisibleIndex

public int getFirstVisibleIndex()

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

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

getLastVisibleIndex

public int getLastVisibleIndex()

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

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

ensureIndexIsVisible

public void ensureIndexIsVisible(int index)

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

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

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

setDragEnabled

public void setDragEnabled(boolean b)

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

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

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

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

getDragEnabled

public boolean getDragEnabled()

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

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

setDropMode

public final void setDropMode(DropMode dropMode)

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

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

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

getDropMode

public final DropMode getDropMode()

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

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

getDropLocation

public final JList.DropLocation getDropLocation()

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

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

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

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

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

getNextMatch

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

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

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

getToolTipText

public String getToolTipText(MouseEvent event)

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

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

Переопределяет:
getToolTipText в классе JComponent
Параметры:
event — 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

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

public ListSelectionListener[] getListSelectionListeners()

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

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

setSelectionModel

public void setSelectionModel(ListSelectionModel selectionModel)

Устанавливает selectionModel для списка на реализацию ListSelectionModel, отличную от null. Модель выделения отвечает за выполнение одиночных выделений, выделений непрерывных диапазонов и несмежных выделений.

Это свойство, привязанное к JavaBeans.

Параметры:
selectionModel - ListSelectionModel, реализующая выделение
Исключения:
IllegalArgumentException - если selectionModel является null
См. также:
getSelectionModel()

setSelectionMode

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

public int getAnchorSelectionIndex()

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

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

getLeadSelectionIndex

public int getLeadSelectionIndex()

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

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

getMinSelectionIndex

public int getMinSelectionIndex()

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

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

getMaxSelectionIndex

public int getMaxSelectionIndex()

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

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

isSelectedIndex

public boolean isSelectedIndex(int index)

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

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

isSelectionEmpty

public boolean isSelectionEmpty()

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

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

clearSelection

public void clearSelection()

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

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

setSelectionInterval

public void setSelectionInterval(int anchor,
                                 int lead)

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

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

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

addSelectionInterval

public void addSelectionInterval(int anchor,
                                 int lead)

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

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

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

removeSelectionInterval

public void removeSelectionInterval(int index0,
                                    int index1)

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

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

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

setValueIsAdjusting

public void setValueIsAdjusting(boolean b)

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

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

Это метод-оболочка, который делегирует вызов методу с таким же именем для модели выбора списка. Обратитесь к документации ListSelectionModel.setValueIsAdjusting(boolean) для получения более подробной информации.

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

getValueIsAdjusting

public boolean getValueIsAdjusting()

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

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

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

getSelectedIndices

public int[] getSelectedIndices()

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

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

setSelectedIndex

public void setSelectedIndex(int index)

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

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

setSelectedIndices

public void setSelectedIndices(int[] indices)

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

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

getSelectedValues

@Deprecated
public Object[] getSelectedValues()

Устарело. Начиная с JDK 1.7, заменено на getSelectedValuesList()

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

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

getSelectedValuesList

public List<E> getSelectedValuesList()

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

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

getSelectedIndex

public int getSelectedIndex()

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

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

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

getSelectedValue

public E getSelectedValue()

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

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

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

setSelectedValue

public void setSelectedValue(Object anObject,
                             boolean shouldScroll)

Выбирает указанный объект из списка.

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

getPreferredScrollableViewportSize

public Dimension getPreferredScrollableViewportSize()

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

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

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

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

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

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

getScrollableUnitIncrement

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

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

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

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

getScrollableBlockIncrement

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

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

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

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

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

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

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

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

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

getScrollableTracksViewportWidth

public boolean getScrollableTracksViewportWidth()

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

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

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

getScrollableTracksViewportHeight

public boolean getScrollableTracksViewportHeight()

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

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

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

paramString

protected String paramString()

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

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

getAccessibleContext

public AccessibleContext getAccessibleContext()

Получает AccessibleContext, связанный с этим JList. Для JList, AccessibleContext принимает форму AccessibleJList.

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

Указано в:
getAccessibleContext в интерфейсе Accessible
Переопределяет:
getAccessibleContext в классе Component
Возвращает:
объект AccessibleJList, являющийся AccessibleContext этого JList

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

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