Класс CellRendererPane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.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 | Этот класс реализует поддержку доступности для класса |
Вложенные классы/интерфейсы, объявленные в классе java.awt.Container
Container.AccessibleAWTContainer Вложенные классы/интерфейсы, объявленные в классе java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected AccessibleContext | accessibleContext |
|
Поля, объявленные в классе 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