Spec-Zone.ru › OpenJDK 8

Класс BasicListUI

  • java.lang.Object
    • javax.swing.plaf.ComponentUI
      • javax.swing.plaf.ListUI
        • javax.swing.plaf.basic.BasicListUI
Прямые известные подклассы:
SynthListUI

public class BasicListUI
extends ListUI

Расширяемая реализация ListUI.

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

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

Модификатор и тип Класс и описание
class  BasicListUI.FocusHandler

Этот класс следует рассматривать как "защищённый" внутренний класс.

class  BasicListUI.ListDataHandler

Прослушиватель ListDataListener, который добавляется к модели JList во время установки интерфейса и при каждом изменении свойства JList.model.

class  BasicListUI.ListSelectionHandler

Прослушиватель ListSelectionListener, который добавляется к модели выбора JList во время установки интерфейса и при каждом изменении свойства JList.selectionModel.

class  BasicListUI.MouseInputHandler

Обработка пользовательского ввода мыши и обработки фокуса для JList.

class  BasicListUI.PropertyChangeHandler

Прослушиватель PropertyChangeListener, который добавляется к JList во время установки интерфейса.

Поля

Модификатор и тип Поле и описание
protected int cellHeight
protected int[] cellHeights
protected static int cellRendererChanged
protected int cellWidth
protected static int fixedCellHeightChanged
protected static int fixedCellWidthChanged
protected FocusListener focusListener
protected static int fontChanged
protected JList list
protected ListDataListener listDataListener
protected ListSelectionListener listSelectionListener
protected static int modelChanged
protected MouseInputListener mouseInputListener
protected PropertyChangeListener propertyChangeListener
protected static int prototypeCellValueChanged
protected CellRendererPane rendererPane
protected static int selectionModelChanged
protected int updateLayoutStateNeeded

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

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

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

Модификатор и тип Метод и описание
protected int convertRowToY(int row)

Возвращает относительную Y-координату JList начала указанной строки или -1, если строка недействительна.

protected int convertYToRow(int y0)

Преобразует относительную координату JList в строку, которая её содержит, на основе текущего макета.

protected FocusListener createFocusListener()
protected ListDataListener createListDataListener()

Создаёт экземпляр ListDataListener, который добавляется к JLists по мере необходимости.

protected ListSelectionListener createListSelectionListener()

Создаёт экземпляр ListSelectionHandler, который добавляется к JLists по мере необходимости.

protected MouseInputListener createMouseInputListener()

Создаёт делегата, реализующего MouseInputListener.

protected PropertyChangeListener createPropertyChangeListener()

Создаёт экземпляр PropertyChangeHandler, который добавляется к JList методом installUI().

static ComponentUI createUI(JComponent list)

Возвращает новый экземпляр BasicListUI.

int getBaseline(JComponent c, int width, int height)

Возвращает базовую линию.

Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)

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

Rectangle getCellBounds(JList list, int index1, int index2)

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

Dimension getPreferredSize(JComponent c)

Предпочтительный размер списка зависит от ориентации макета.

protected int getRowHeight(int row)

Возвращает высоту указанной строки на основе текущего макета.

Point indexToLocation(JList list, int index)

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

protected void installDefaults()

Инициализирует свойства списка, такие как шрифт, передний и задний план, и добавляет CellRendererPane.

protected void installKeyboardActions()

Регистрирует привязки клавиатуры к JList, с которым связан BasicListUI.

protected void installListeners()

Создаёт и устанавливает прослушиватели для JList, его модели и его модели выбора.

void installUI(JComponent c)

Инициализирует this.list, вызывая installDefaults(), installListeners(), и installKeyboardActions() по порядку.

int locationToIndex(JList list, Point location)

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

protected void maybeUpdateLayoutState()

Если updateLayoutStateNeeded не равен нулю, вызывается updateLayoutState() и сбрасывается updateLayoutStateNeeded.

void paint(Graphics g, JComponent c)

Рисует строки, которые пересекают clipRect объекта Graphics.

protected void paintCell(Graphics g, int row, Rectangle rowBounds, ListCellRenderer cellRenderer, ListModel dataModel, ListSelectionModel selModel, int leadIndex)

Рисует одну ячейку списка: вычисляет соответствующее состояние, получает компонент-рендерер ячейки, а затем использует CellRendererPane для его отрисовки.

protected void selectNextIndex()

Выбирает предыдущую строку и принудительно отображает её.

protected void selectPreviousIndex()

Выбирает предыдущую строку и принудительно отображает её.

protected void uninstallDefaults()

Устанавливает свойства списка, которые не были явно переопределены, в null.

protected void uninstallKeyboardActions()

Отменяет регистрацию действий клавиатуры, установленных из installKeyboardActions.

protected void uninstallListeners()

Удаляет прослушиватели из JList, его модели и его модели выбора.

void uninstallUI(JComponent c)

Деинициализирует this.list, вызывая uninstallListeners(), uninstallKeyboardActions(), и uninstallDefaults() по порядку.

protected void updateLayoutState()

Перевычисляет значение cellHeight или cellHeights на основе текущего шрифта и текущих значений fixedCellWidth, fixedCellHeight и prototypeCellValue.

Методы, унаследованные от класса javax.swing.plaf.ComponentUI

contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getMinimumSize, update

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

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

Поля

list

protected JList list

объект отображения

protected CellRendererPane rendererPane

слушатель фокуса

protected FocusListener focusListener

слушатель событий мыши

protected MouseInputListener mouseInputListener

слушатель изменения выделения в списке

protected ListSelectionListener listSelectionListener

слушатель изменений данных списка

protected ListDataListener listDataListener

слушатель изменений свойств

protected PropertyChangeListener propertyChangeListener

высоты ячеек

protected int[] cellHeights

высота ячейки

protected int cellHeight

ширина ячейки

protected int cellWidth

необходимость обновления состояния макета

protected int updateLayoutStateNeeded

изменение модели

protected static final int modelChanged
См. также:
Значения константных полей

изменение модели выделения

protected static final int selectionModelChanged
См. также:
Значения константных полей

изменение шрифта

protected static final int fontChanged
См. также:
Значения константных полей

изменение фиксированной ширины ячейки

protected static final int fixedCellWidthChanged
См. также:
Значения константных полей

изменение фиксированной высоты ячейки

protected static final int fixedCellHeightChanged
См. также:
Значения константных полей

изменение значения ячейки-прототипа

protected static final int prototypeCellValueChanged
См. также:
Значения константных полей

изменение отображателя ячеек

protected static final int cellRendererChanged
См. также:
Значения константных полей

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

BasicListUI

public BasicListUI()

Методы

paintCell

protected void paintCell(Graphics g,
                         int row,
                         Rectangle rowBounds,
                         ListCellRenderer cellRenderer,
                         ListModel dataModel,
                         ListSelectionModel selModel,
                         int leadIndex)

Отображает одну ячейку списка: вычисляет соответствующее состояние, получает компонент-отображатель ячейки и затем использует CellRendererPane для его отображения. Подклассы могут переопределить этот метод вместо paint().

См. также:
paint(java.awt.Graphics, javax.swing.JComponent)

paint

public void paint(Graphics g,
                  JComponent c)

Отображает строки, пересекающие область обрезки объекта Graphics. Этот метод вызывает paintCell по мере необходимости. Подклассы могут переопределить эти методы.

Переопределяет:
paint в классе ComponentUI
Параметры:
g - контекст отображения
c - компонент, который отображается; этот аргумент часто игнорируется, но может использоваться, если объект UI является бессостоятельным и используется несколькими компонентами
См. также:
paintCell(java.awt.Graphics, int, java.awt.Rectangle, javax.swing.ListCellRenderer, javax.swing.ListModel, javax.swing.ListSelectionModel, int)

getBaseline

public int getBaseline(JComponent c,
                       int width,
                       int height)

Возвращает линию базового выравнивания.

Переопределяет:
getBaseline в классе ComponentUI
Параметры:
c - компонент, для которого запрашивается базовая линия
width - высота для получения базовой линии
Возвращает:
базовую линию или значение < 0, если нет разумной базовой линии
Исключения:
NullPointerException - если c является null
IllegalArgumentException - если ширина или высота < 0
С момента:
1.6
См. также:
JComponent.getBaseline(int, int)

getBaselineResizeBehavior

public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)

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

Переопределяет:
getBaselineResizeBehavior в классе ComponentUI
Параметры:
c - компонент, для которого запрашивается поведение изменения базовой линии
Возвращает:
перечисление, указывающее, как меняется базовая линия при изменении размера компонента
Исключения:
NullPointerException - если c является null
С момента:
1.6
См. также:
JComponent.getBaseline(int, int)

getPreferredSize

public Dimension getPreferredSize(JComponent c)
Предпочтительный размер списка зависит от ориентации макета.
Ориентация макета Предпочтительный размер
JList.VERTICAL Предпочтительный размер списка — общая высота строк и максимальная ширина ячеек. Если указан JList.fixedCellHeight, то общая высота строк — это просто (cellVerticalMargins + fixedCellHeight) * model.getSize(), где rowVerticalMargins — это место, которое мы выделяем для рисования жёлтой рамки фокуса. Аналогично, если задана fixedCellWidth, то мы используем только её.
JList.VERTICAL_WRAP Если количество видимых строк больше нуля, то preferredHeight — это максимальная высота ячейки * видимое количество строк. Если количество видимых строк <= 0, то предпочтительная высота — это либо текущая высота списка, либо максимальная высота ячейки, в зависимости от того, что больше. Предпочтительная ширина — это максимальная ширина ячейки * количество необходимых столбцов. Где количество необходимых столбцов — это list.height / максимальная высота ячейки. Максимальная высота ячейки — это либо фиксированная высота ячейки, либо определяется путем итерации по всем ячейкам для поиска максимальной высоты из ListCellRenderer.
JList.HORIZONTAL_WRAP Если количество видимых строк больше нуля, то preferredHeight — это максимальная высота ячейки * adjustedRowCount. Где visibleRowCount используется для определения количества столбцов. Поскольку это выравнивание по горизонтали, количество строк затем определяется по количеству столбцов. Например, предположим, что у вас есть модель с 10 элементами, а видимое количество строк — 8. Необходимое количество столбцов для отображения этого — 2, но вам больше не нужны 8 строк для отображения этого, вам нужно только 5, поэтому adjustedRowCount — это 5.

Если количество видимых строк <= 0, то предпочтительная высота определяется количеством столбцов, которое будет максимально возможно помещаться в ширину JList (ширина / максимальная ширина ячейки), но не менее одного столбца. Тогда предпочтительная высота станет моделью size / количество столбцов * максимальная высота ячейки. Максимальная высота ячейки — это либо фиксированная высота ячейки, либо определяется путем итерации по всем ячейкам для поиска максимальной высоты из ListCellRenderer.

Выше указаны исходная предпочтительная ширина и высота. Результирующая предпочтительная ширина — это вышеуказанная ширина + insets.left + insets.right, а результирующая предпочтительная высота — это вышеуказанная высота + insets.top + insets.bottom. Где Insets определяются из list.getInsets().
Переопределяет:
getPreferredSize в классе ComponentUI
Параметры:
c - Компонент JList.
Возвращает:
Общий размер списка.
См. также:
JComponent.getPreferredSize(), LayoutManager.preferredLayoutSize(java.awt.Container)

selectPreviousIndex

protected void selectPreviousIndex()

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

См. также:
JList.ensureIndexIsVisible(int)

selectNextIndex

protected void selectNextIndex()

Выделяет следующую строку и делает её видимой.

См. также:
JList.ensureIndexIsVisible(int)

installKeyboardActions

protected void installKeyboardActions()

Регистрирует сочетания клавиш на JList, с которым связан BasicListUI. Этот метод вызывается во время installUI().

См. также:
installUI(javax.swing.JComponent)

uninstallKeyboardActions

protected void uninstallKeyboardActions()

Отменяет регистрацию сочетаний клавиш, установленных из installKeyboardActions. Этот метод вызывается во время uninstallUI() — подклассы должны гарантировать, что все сочетания клавиш, зарегистрированные во время installUI, удалены здесь.

См. также:
installUI(javax.swing.JComponent)

installListeners

protected void installListeners()

Создаёт и устанавливает слушателей для JList, его модели и модели выделения. Этот метод вызывается во время installUI().

См. также:
installUI(javax.swing.JComponent), uninstallListeners()

uninstallListeners

protected void uninstallListeners()

Удаляет слушателей из JList, его модели и модели выделения. Все поля слушателей сбрасываются в null. Этот метод вызывается во время uninstallUI(), он должен быть синхронизирован с installListeners.

См. также:
uninstallUI(javax.swing.JComponent), installListeners()

installDefaults

protected void installDefaults()

Инициализирует свойства списка, такие как шрифт, передний и задний цвета, и добавляет CellRendererPane. Свойства шрифта, переднего и заднего цвета устанавливаются только в том случае, если их текущее значение равно null или UIResource, другие свойства устанавливаются, если текущее значение равно null.

См. также:
uninstallDefaults(), installUI(javax.swing.JComponent), CellRendererPane

uninstallDefaults

protected void uninstallDefaults()

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

См. также:
installDefaults(), uninstallUI(javax.swing.JComponent), CellRendererPane

installUI

public void installUI(JComponent c)

Инициализирует this.list, вызывая installDefaults(), installListeners(), и installKeyboardActions() в указанном порядке.

Переопределяет:
installUI в классе ComponentUI
Параметры:
c - компонент, в котором устанавливается этот делегат пользовательского интерфейса
См. также:
installDefaults(), installListeners(), installKeyboardActions()

uninstallUI

public void uninstallUI(JComponent c)

Деинициализирует this.list, вызывая uninstallListeners(), uninstallKeyboardActions(), и uninstallDefaults() в указанном порядке. Устанавливает this.list в null.

Переопределяет:
uninstallUI в классе ComponentUI
Параметры:
c - компонент, из которого удаляется этот делегат пользовательского интерфейса; этот аргумент часто игнорируется, но может быть использован, если объект пользовательского интерфейса является бессостоятельным и используется несколькими компонентами
См. также:
uninstallListeners(), uninstallKeyboardActions(), uninstallDefaults()

createUI

public static ComponentUI createUI(JComponent list)

Возвращает новый экземпляр BasicListUI. Делегаты BasicListUI выделяются по одному на каждый JList.

Возвращает:
Реализация ListUI для внешнего вида Windows.

locationToIndex

public int locationToIndex(JList list,
                           Point location)

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

Определено в:
locationToIndex в классе ListUI
Параметры:
list - список
location - координаты точки
Возвращает:
индекс ячейки, ближайший к заданному положению, или -1
Исключения:
NullPointerException - если location равно null

indexToLocation

public Point indexToLocation(JList list,
                             int index)

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

Определено в:
indexToLocation в классе ListUI
Параметры:
list - список
index - индекс ячейки
Возвращает:
начало ячейки, или null

getCellBounds

public Rectangle getCellBounds(JList list,
                               int index1,
                               int index2)

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

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

Определено в:
getCellBounds в классе ListUI
Параметры:
list - список
index1 - первый индекс в диапазоне
index2 - второй индекс в диапазоне
Возвращает:
прямоугольник, ограничивающий диапазон ячеек, или null

getRowHeight

protected int getRowHeight(int row)

Возвращает высоту указанной строки на основе текущего макета.

Возвращает:
Высота указанной строки или -1, если строка недопустима.
См. также:
convertYToRow(int), convertRowToY(int), updateLayoutState()

convertYToRow

protected int convertYToRow(int y0)

Преобразует относительные координаты JList в строку, содержащую её, на основе текущего макета. Если y0 не попадает ни в одну строку, вернуть -1.

Возвращает:
Строку, содержащую y0, или -1.
См. также:
getRowHeight(int), updateLayoutState()

convertRowToY

protected int convertRowToY(int row)

Возвращает относительную координату Y JList начала указанной строки или -1, если строка недопустима.

Возвращает:
Координату Y начала строки или -1.
См. также:
getRowHeight(int), updateLayoutState()

maybeUpdateLayoutState

protected void maybeUpdateLayoutState()

Если updateLayoutStateNeeded не равно нулю, вызвать updateLayoutState() и сбросить updateLayoutStateNeeded. Этот метод должен вызываться методами перед выполнением любого вычисления, основанного на геометрии списка. Например, это первый вызов в paint() и getPreferredSize().

См. также:
updateLayoutState()

updateLayoutState

protected void updateLayoutState()

Пересчитывает значение cellHeight или cellHeights, а также cellWidth, на основе текущего шрифта и текущих значений fixedCellWidth, fixedCellHeight и prototypeCellValue.

См. также:
maybeUpdateLayoutState()

createMouseInputListener

protected MouseInputListener createMouseInputListener()

Создает делегат, реализующий MouseInputListener. Делегат добавляется в соответствующие списки слушателей java.awt.Component во время installUI(). Подклассы могут переопределить этот метод, чтобы вернуть пользовательского MouseInputListener, например,

class MyListUI extends BasicListUI {
    protected MouseInputListener createMouseInputListener() {
        return new MyMouseInputHandler();
    }
    public class MyMouseInputHandler extends MouseInputHandler {
        public void mouseMoved(MouseEvent e) {
            // do some extra work when the mouse moves
            super.mouseMoved(e);
        }
    }
 }

См. также:
BasicListUI.MouseInputHandler, installUI(javax.swing.JComponent)

createFocusListener

protected FocusListener createFocusListener()

createListSelectionListener

protected ListSelectionListener createListSelectionListener()

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

class MyListUI extends BasicListUI {
    protected ListSelectionListener createListSelectionListener() {
        return new MySelectionListener();
    }
    public class MySelectionListener extends ListSelectionHandler {
        public void valueChanged(ListSelectionEvent e) {
            // do some extra work when the selection changes
            super.valueChange(e);
        }
    }
 }

См. также:
BasicListUI.ListSelectionHandler, installUI(javax.swing.JComponent)

createListDataListener

protected ListDataListener createListDataListener()

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

class MyListUI extends BasicListUI {
    protected ListDataListener createListDataListener() {
        return new MyListDataListener();
    }
    public class MyListDataListener extends ListDataHandler {
        public void contentsChanged(ListDataEvent e) {
            // do some extra work when the models contents change
            super.contentsChange(e);
        }
    }
 }

См. также:
ListDataListener, JList.getModel(), installUI(javax.swing.JComponent)

createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener()

Создаёт экземпляр PropertyChangeHandler, который добавляется к JList во время installUI(). Подклассы могут переопределить этот метод, чтобы вернуть пользовательского PropertyChangeListener, например,

class MyListUI extends BasicListUI {
    protected PropertyChangeListener createPropertyChangeListener() {
        return new MyPropertyChangeListener();
    }
    public class MyPropertyChangeListener extends PropertyChangeHandler {
        public void propertyChange(PropertyChangeEvent e) {
            if (e.getPropertyName().equals("model")) {
                // do some extra work when the model changes
            }
            super.propertyChange(e);
        }
    }
 }

См. также:
PropertyChangeListener, installUI(javax.swing.JComponent)

© 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