Класс CellRendererPane

Все реализованные интерфейсы:
ImageObserver, MenuContainer, Serializable, Accessible
public class CellRendererPane
extends Container
implements Accessible

Этот класс вставляется между рендерерами ячеек и компонентами, которые их используют. Он существует только для того, чтобы предотвратить распространение методов repaint() и invalidate() вверх по дереву, которые в противном случае будут распространяться, когда рендерер был настроен. Он используется реализациями JTable, JTree и JList. Например, вот как используется CellRendererPane в коде, который рисует каждую строку в JList:

cellRendererPane = new CellRendererPane();
   ...
   Component rendererComponent = renderer.getListCellRendererComponent();
   renderer.configureListCellRenderer(dataModel.getElementAt(row), row);
   cellRendererPane.paintComponent(g, rendererComponent, this, x, y, w, h);

Компонент-рендерер должен переопределять isShowing() и безусловно возвращать true, чтобы работать правильно, потому что Swing ничего не делает для компонентов с isShowing false.

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

С:
1.2
См. также:
Сериализованная форма

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

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

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

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

Container.AccessibleAWTContainer

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

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

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

Модификатор и тип Поле Описание
protected AccessibleContext accessibleContext

AccessibleContext, связанный с этим CellRendererPan

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

BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

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

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

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

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

Создаёт объект CellRendererPane.

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

Модификатор и тип Метод Описание
protected void addImpl​(Component x, Object constraints, int index)

Если указанный компонент уже является потомком этого компонента, то ничего не делается - порядок стекирования не имеет значения для компонентов рендеринга ячеек (CellRendererPane всё равно ничего не рисует).

AccessibleContext getAccessibleContext()

Возвращает AccessibleContext, связанный с этим CellRendererPane.

void invalidate()

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

void paint​(Graphics g)

Не должно вызываться.

void paintComponent​(Graphics g, Component c, Container p, int x, int y, int w, int h)

Вызывает this.paintComponent(g, c, p, x, y, w, h, false).

void paintComponent​(Graphics g, Component c, Container p, int x, int y, int w, int h, boolean shouldValidate)

Отрисовывает компонент рендеринга ячейки c на объекте графики g.

void paintComponent​(Graphics g, Component c, Container p, Rectangle r)

Вызывает this.paintComponent() с полями прямоугольников x, y, ширина, высота.

void update​(Graphics g)

Не должно вызываться.

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

add, add, add, add, add, addContainerListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, isValidateRoot, layout, list, list, locate, minimumSize, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, validate, validateTree

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

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

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

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

Поля

accessibleContext

protected AccessibleContext accessibleContext

AccessibleContext связанный с этим CellRendererPan

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

CellRendererPane

public CellRendererPane()

Создает объект CellRendererPane.

Методы

invalidate

public void invalidate()

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

Overrides:
invalidate в классе Container
См. также:
Container.validate(), Container.layout(), LayoutManager2

paint

public void paint(Graphics g)

Не должно вызываться.

Overrides:
paint в классе Container
Параметры:
g - указанное графическое окно
См. также:
Component.update(Graphics)

update

public void update(Graphics g)

Не должно вызываться.

Overrides:
update в классе Container
Параметры:
g - указанное графическое окно
См. также:
Component.update(Graphics)

addImpl

protected void addImpl(Component x,
                       Object constraints,
                       int index)

Если указанный компонент уже является дочерним элементом, то мы не будем ничего делать — порядок стека не имеет значения для компонентов рендерера ячейки (CellRendererPane все равно ничего не рисует).

Overrides:
addImpl в классе Container
Параметры:
x - добавляемый компонент
constraints - объект, выражающий ограничения макета для этого компонента
index - позиция в списке контейнера, в которую следует вставить компонент, где -1 означает добавление в конец
См. также:
Container.add(Component), Container.add(Component, int), Container.add(Component, java.lang.Object), Container.invalidate(), LayoutManager, LayoutManager2

paintComponent

public void paintComponent(Graphics g,
                           Component c,
                           Container p,
                           int x,
                           int y,
                           int w,
                           int h,
                           boolean shouldValidate)

Отрисовка компонента рендерера ячейки c на объекте графики g. Перед отрисовкой компонента он переродится в этот (если это необходимо), его границы установятся на w,h, а объект графики (эффективно) будет перемещен на x,y. Если это JComponent, кэширование с двойным буфером временно выключится. После отрисовки компонента его границы сбросятся до -w, -h, 0, 0, так что, если это последний нарисованный компонент рендерера ячейки, он не будет начинать потреблять ввод. Контейнер p — это компонент, на котором мы фактически рисуем, как правило, он равен this.getParent(). Если shouldValidate равно true, компонент c будет валидирован перед отрисовкой.

Параметры:
g - объект Graphics для рисования
c - компонент Component для рисования
p - компонент Container, на котором фактически рисуется
x - целое число, определяющее левую сторону области рисования в пикселях, измеренную от левого края контекста графики
y - целое число, определяющее верхнюю сторону области рисования в пикселях, измеренную вниз от верхнего края контекста графики
w - целое число, определяющее ширину области рисования в пикселях
h - целое число, определяющее высоту области рисования в пикселях
shouldValidate - если true, компонент c будет проверен перед рисованием

paintComponent

public void paintComponent(Graphics g,
                           Component c,
                           Container p,
                           int x,
                           int y,
                           int w,
                           int h)

Вызывает this.paintComponent(g, c, p, x, y, w, h, false).

Параметры:
g - объект Graphics для рисования
c - компонент Component для рисования
p - компонент Container, на котором фактически рисуется
x - целое число, определяющее левую сторону области рисования в пикселях, измеренную от левого края контекста графики
y - целое число, определяющее верхнюю сторону области рисования в пикселях, измеренную вниз от верхнего края контекста графики
w - целое число, определяющее ширину области рисования в пикселях
h - целое число, определяющее высоту области рисования в пикселях

paintComponent

public void paintComponent(Graphics g,
                           Component c,
                           Container p,
                           Rectangle r)

Вызывает this.paintComponent() с полями прямоугольника x, y, ширина, высота.

Параметры:
g - объект Graphics для рисования
c - компонент Component для рисования
p - компонент Container, на котором фактически рисуется
r - прямоугольник Rectangle для рисования

getAccessibleContext

public AccessibleContext getAccessibleContext()

Возвращает AccessibleContext, связанный с этим CellRendererPane. Для CellRendererPane AccessibleContext принимает форму AccessibleCellRendererPane. Новый экземпляр AccessibleCellRendererPane создается при необходимости.

Определено в:
getAccessibleContext в интерфейсе Accessible
Overrides:
getAccessibleContext в классе Component
Возвращает:
AccessibleCellRendererPane, который служит AccessibleContext этого CellRendererPane

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

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