Класс 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.
Вложенные классы
| Модификатор и тип | Класс и описание |
|---|---|
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,width,height. |
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, getPeer, 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, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, 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
Конструкторы
CellRendererPane
public CellRendererPane()
Создает объект CellRendererPane.
Методы
invalidate
public void invalidate()
Переопределено для предотвращения распространения invalidate вверх по дереву, когда дочерний элемент рендерера ячейки настраивается.
- Переопределяет:
-
invalidateв классеContainer - См. также:
-
Container.validate(),Container.layout(),LayoutManager2
paint
public void paint(Graphics g)
Не должно вызываться.
- Переопределяет:
-
paintв классеContainer - Параметры:
-
g- указанное окно Graphics - См. также:
Component.update(Graphics)
update
public void update(Graphics g)
Не должно вызываться.
- Переопределяет:
-
updateв классеContainer - Параметры:
-
g- указанное окно Graphics - См. также:
Component.update(Graphics)
addImpl
protected void addImpl(Component x,
Object constraints,
int index)
Если указанный компонент уже является дочерним элементом, то ничего не делаем - порядок стекирования не имеет значения для компонентов рендеринга ячеек (CellRendererPane все равно ничего не рисует).
- Переопределяет:
-
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 будет валидирован перед отрисовкой.
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).
paintComponent
public void paintComponent(Graphics g,
Component c,
Container p,
Rectangle r)
Вызывает this.paintComponent() с полями прямоугольников x,y,width,height.
getAccessibleContext
public AccessibleContext getAccessibleContext()
Возвращает AccessibleContext, связанный с этим CellRendererPane. Для CellRendererPane AccessibleContext имеет вид AccessibleCellRendererPane. Новый экземпляр AccessibleCellRendererPane создаётся при необходимости.
- Указано в:
-
getAccessibleContextв интерфейсеAccessible - Переопределяет:
-
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.