Spec-Zone.ru › OpenJDK 25

Класс JViewport

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JViewport
Все реализованные интерфейсы:
ImageObserver, MenuContainer, Serializable, Accessible
public class JViewport extends JComponent implements Accessible
«Область просмотра» или «иллюминатор», через который видна нижележащая информация. При прокрутке перемещается именно область просмотра. Это похоже на наблюдение через видоискатель камеры. Перемещение видоискателя вверх открывает новые объекты в верхней части изображения и скрывает объекты, находившиеся внизу.

По умолчанию JViewport является непрозрачным. Чтобы изменить это, используйте метод setOpaque.

ПРИМЕЧАНИЕ:Мы реализовали более быстрый алгоритм прокрутки, для которого не требуется буфер для рисования. Алгоритм работает следующим образом:

  1. Проверяется, являются ли представление и родительское представление JComponents; если нет, выполнение прекращается и вся область просмотра перерисовывается.
  2. Если область просмотра заслонена предком, выполнение прекращается и вся область просмотра перерисовывается.
  3. Вычисляется область, которая станет видимой; если она не меньше области просмотра, выполнение прекращается и вся область просмотра перерисовывается.
  4. Получается графический контекст предка Window и выполняется copyArea для прокручиваемой области.
  5. Представлению отправляется сообщение о необходимости перерисовать вновь видимую область.
  6. При следующем вызове paint для области просмотра, если область отсечения меньше размера области просмотра, запускается таймер для перерисовки всей области.
В целом такой подход работает намного быстрее. По сравнению с подходом с буфером он позволяет избежать затрат на поддержку внеэкранного буфера и необходимость выполнять два copyArea. По сравнению со случаем без буфера этот подход значительно сокращает перерисовываемую область.

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

Предупреждение: Swing не является потокобезопасным. Дополнительную информацию см. в разделе Политика Swing в отношении потоков.

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

Начиная с:
1.2
См. также:
  • JScrollPane

Краткое описание вложенных классов

Модификатор и тип Класс Описание
protected class  JViewport.AccessibleJViewport
Этот класс реализует поддержку специальных возможностей для класса JViewport.
protected class  JViewport.ViewListener
Слушатель представления.

Вложенные классы и интерфейсы, объявленные в классе JComponent

JComponent.AccessibleJComponent

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

Container.AccessibleAWTContainer

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

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

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

Модификатор и тип Поле Описание
protected boolean backingStore
Устарело.
Начиная с платформы Java 2 версии 1.3
static final int BACKINGSTORE_SCROLL_MODE
Отображает содержимое области просмотра во внеэкранном изображении.
protected Image backingStoreImage
Изображение представления, используемое для буфера.
static final int BLIT_SCROLL_MODE
Используйте graphics.copyArea для реализации прокрутки.
protected boolean isViewSizeSet
Значение true, если размеры области просмотра определены.
protected Point lastPaintPosition
Последний viewPosition, который мы отрисовали, чтобы знать, какая часть изображения буфера действительна.
protected boolean scrollUnderway
Флаг scrollUnderway используется для таких компонентов, как JList.
static final int SIMPLE_SCROLL_MODE
В этом режиме используется очень простой способ: при каждой прокрутке заново отображается всё содержимое панели прокрутки.

Поля, объявленные в классе JComponent

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

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

accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

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

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

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

Конструктор Описание
JViewport()
Создает JViewport.

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

Модификатор и тип Метод Описание
void addChangeListener(ChangeListener l)
Добавляет ChangeListener в список, который получает уведомления при каждом изменении размера или положения представления, а также размера области просмотра.
protected void addImpl(Component child, Object constraints, int index)
Устанавливает единственный облегченный дочерний компонент JViewport, которым может быть null.
protected boolean computeBlit(int dx, int dy, Point blitFrom, Point blitTo, Dimension blitSize, Rectangle blitPaint)
Вычисляет параметры для переноса области, когда изображение буфера в данный момент содержит oldLoc в левом верхнем углу, а прокрутка выполняется к newLoc.
protected LayoutManager createLayoutManager()
Подклассы могут переопределить этот метод, чтобы установить другой менеджер компоновки (или null) в конструкторе.
protected JViewport.ViewListener createViewListener()
Создает слушатель представления.
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
Уведомляет слушателей об изменении свойства.
protected void fireStateChanged()
Уведомляет все ChangeListeners об изменении размера или положения представления, а также размера области просмотра.
AccessibleContext getAccessibleContext()
Возвращает AccessibleContext, связанный с этим JViewport.
ChangeListener[] getChangeListeners()
Возвращает массив всех ChangeListener, добавленных в этот JViewport с помощью addChangeListener().
Dimension getExtentSize()
Возвращает размер видимой части представления в координатах представления.
final Insets getInsets()
Возвращает размеры отступов (границы) как (0,0,0,0), поскольку границы не поддерживаются для JViewport.
final Insets getInsets(Insets insets)
Возвращает объект Insets, содержащий значения отступов этого JViewport.
int getScrollMode()
Возвращает текущий режим прокрутки.
ViewportUI getUI()
Возвращает объект L&F, который отображает этот компонент.
String getUIClassID()
Возвращает строку с именем класса L&F, который отображает этот компонент.
Component getView()
Возвращает единственный дочерний компонент JViewport или null.
Point getViewPosition()
Возвращает координаты представления, отображаемые в левом верхнем углу области просмотра, или 0,0, если представления нет.
Rectangle getViewRect()
Возвращает прямоугольник, начало координат которого — getViewPosition, а размер — getExtentSize.
Dimension getViewSize()
Если размер представления не был задан явно, возвращает предпочтительный размер; в противном случае возвращает текущий размер представления.
boolean isBackingStoreEnabled()
Устарело.
Начиная с платформы Java 2 версии 1.3, заменено на getScrollMode().
boolean isOptimizedDrawingEnabled()
JViewport переопределяет реализацию этого метода по умолчанию (в JComponent), чтобы возвращать false.
protected boolean isPaintingOrigin()
Возвращает true, если режим прокрутки — BACKINGSTORE_SCROLL_MODE, чтобы рисование начиналось с JViewport или одного из его предков.
void paint(Graphics g)
В зависимости от того, включен ли backingStore, отображает изображение через буфер либо рисует только недавно открытую часть, используя буфер для переноса остальной части.
protected String paramString()
Возвращает строковое представление этого JViewport.
void remove(Component child)
Удаляет единственный облегченный дочерний компонент Viewport.
void removeChangeListener(ChangeListener l)
Удаляет ChangeListener из списка, который получает уведомления при каждом изменении размера или положения представления, а также размера области просмотра.
void repaint(long tm, int x, int y, int w, int h)
Всегда выполняет перерисовку в системе координат родительского компонента, чтобы RepaintManager выполнял только одну отрисовку.
void reshape(int x, int y, int w, int h)
Задает границы этой области просмотра.
void scrollRectToVisible(Rectangle contentRect)
Прокручивает представление так, чтобы Rectangle внутри представления стало видимым.
void setBackingStoreEnabled(boolean enabled)
Устарело.
Начиная с платформы Java 2 версии 1.3, заменено на setScrollMode().
final void setBorder(Border border)
Область просмотра «прокручивает» свой дочерний компонент (называемый «представлением») посредством обычного отсечения родительского и дочернего компонентов (обычно представление перемещается в направлении, противоположном прокрутке).
void setExtentSize(Dimension newExtent)
Задает размер видимой части представления в координатах представления.
void setScrollMode(int mode)
Используется для управления способом прокрутки содержимого области просмотра.
void setUI(ViewportUI ui)
Задает объект L&F, который отображает этот компонент.
void setView(Component view)
Задает единственный облегченный дочерний компонент JViewport (view), которым может быть null.
void setViewPosition(Point p)
Задает координаты представления, отображаемые в левом верхнем углу области просмотра; ничего не делает, если представления нет.
void setViewSize(Dimension newSize)
Задает размер представления.
Dimension toViewCoordinates(Dimension size)
Преобразует размер в пиксельных координатах в координаты представления.
Point toViewCoordinates(Point p)
Преобразует точку в пиксельных координатах в координаты представления.
void updateUI()
Сбрасывает свойство UI, устанавливая его значение из текущего стиля оформления.

Методы, объявленные в классе JComponent

addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update

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

add, add, add, add, add, addContainerListener, 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, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree

Методы, объявленные в классе 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle

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

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

Подробное описание полей

isViewSizeSet

protected boolean isViewSizeSet
Значение true, если размеры области просмотра определены. Значение по умолчанию — false.

lastPaintPosition

protected Point lastPaintPosition
Последняя позиция viewPosition, которую мы отрисовали, чтобы знать, какая часть изображения в буфере хранит актуальные данные.

backingStore

@Deprecated protected boolean backingStore
Устарело.
Начиная с платформы Java 2 v1.3
Значение true, если область просмотра хранит изображение своего содержимого вне экрана, благодаря чему прокрутка в некоторых случаях выполняется с помощью быстрых операций «bit-blit», а не посредством обращения к объекту представления для формирования изображения. Значение по умолчанию — false.
См. также:
  • setScrollMode(int)

backingStoreImage

protected transient Image backingStoreImage
Изображение представления, используемое в качестве буфера.

scrollUnderway

protected boolean scrollUnderway
Флаг scrollUnderway используется такими компонентами, как JList. Когда нажат клавишей со стрелкой вниз в JList и выбрана последняя ячейка списка, scrollpane прокручивается автоматически. В этом случае старую выбранную ячейку нужно перерисовать, поэтому требуется флаг, чтобы область просмотра выполняла оптимизированную отрисовку только при явном вызове setViewPosition(Point). Если setBounds вызывается другим способом, флаг отключен и представление перерисовывается обычным образом. Другой вариант — удалить это поле из класса JViewport и поручить JList обрабатывать этот случай с помощью setBackingStoreEnabled. Значение по умолчанию — false.

BLIT_SCROLL_MODE

public static final int BLIT_SCROLL_MODE
Для реализации прокрутки используется graphics.copyArea. Для большинства приложений это самый быстрый режим.
Начиная с версии:
1.3
См. также:
  • setScrollMode(int)
  • Значения константных полей

BACKINGSTORE_SCROLL_MODE

public static final int BACKINGSTORE_SCROLL_MODE
Содержимое области просмотра отрисовывается в изображение вне экрана. Ранее это был режим по умолчанию для JTable. В некоторых случаях этот режим может иметь преимущества перед «режимом blit», но для него требуется значительный дополнительный объем оперативной памяти.
Начиная с версии:
1.3
См. также:
  • setScrollMode(int)
  • Значения константных полей

SIMPLE_SCROLL_MODE

public static final int SIMPLE_SCROLL_MODE
В этом режиме используется очень простой метод: при каждой прокрутке заново отрисовывается все содержимое панели прокрутки. Такое поведение было режимом по умолчанию в Swing 1.0 и Swing 1.1. В большинстве случаев любой из двух других режимов обеспечивает более высокую производительность.
Начиная с версии:
1.3
См. также:
  • setScrollMode(int)
  • Значения константных полей

Подробное описание конструкторов

JViewport

public JViewport()
Создает JViewport.

Подробное описание методов

getUI

public ViewportUI getUI()
Возвращает объект L&F, который отрисовывает этот компонент.
Переопределяет:
getUI в классе JComponent
Возвращает:
объект ViewportUI
Начиная с версии:
1.3

setUI

@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component's LookAndFeel.") public void setUI(ViewportUI ui)
Задает объект L&F, который отрисовывает этот компонент.
Параметры:
ui — объект L&F ViewportUI
Начиная с версии:
1.3
См. также:
  • UIDefaults.getUI(JComponent)

updateUI

public void updateUI()
Сбрасывает свойство UI, присваивая ему значение из текущего оформления.
Переопределяет:
updateUI в классе JComponent
См. также:
  • JComponent.updateUI()

getUIClassID

public String getUIClassID()
Возвращает строку, указывающую имя класса L&F, который отрисовывает этот компонент.
Переопределяет:
getUIClassID в классе JComponent
Возвращает:
строку "ViewportUI"
См. также:
  • JComponent.getUIClassID()
  • UIDefaults.getUI(JComponent)

addImpl

protected void addImpl(Component child, Object constraints, int index)
Задает единственный легковесный дочерний компонент JViewport, которым может быть null. (Поскольку дочерний компонент только один и он занимает всю область просмотра, аргументы constraints и index игнорируются.)
Переопределяет:
addImpl в классе Container
Параметры:
child — легковесный дочерний компонент области просмотра child
constraints — учитываемое значение constraints
index — индекс
См. также:
  • setView(Component)

remove

public void remove(Component child)
Удаляет единственный легковесный дочерний компонент Viewport.
Переопределяет:
remove в классе Container
Параметры:
child — удаляемый компонент
См. также:
  • setView(Component)

scrollRectToVisible

public void scrollRectToVisible(Rectangle contentRect)
Прокручивает представление так, чтобы Rectangle внутри него стало видимым.

Если представление в данный момент недействительно, перед прокруткой метод пытается проверить его корректность — isValid возвращает false. Чтобы избежать чрезмерных проверок корректности при создании иерархии компонентов, проверка не выполняется, если у одного из предков нет peer, отсутствует предок — корень проверки корректности или один из предков не является Window либо Applet.

Обратите внимание, что этот метод не прокручивает содержимое за пределы области просмотра; например, если contentRect больше области просмотра, прокрутка будет ограничена ее границами.

Переопределяет:
scrollRectToVisible в классе JComponent
Параметры:
contentRect — отображаемый Rectangle
См. также:
  • JComponent.isValidateRoot()
  • Component.isValid()

setBorder

public final void setBorder(Border border)
Область просмотра «прокручивает» свой дочерний компонент (называемый «представлением») с помощью обычного механизма обрезки родительского и дочернего компонентов (обычно представление перемещается в направлении, противоположном прокрутке). Непрозрачная граница null или ненулевые отступы не поддерживаются, чтобы геометрия этого компонента не стала настолько сложной, что это помешало бы созданию подклассов. Чтобы создать JViewport с границей, добавьте его в JPanel с границей.

Примечание. Если border не является null, этот метод выбрасывает исключение, поскольку границы для JViewPort не поддерживаются.

Переопределяет:
setBorder в классе JComponent
Параметры:
border — устанавливаемая Border
Выбрасывает:
IllegalArgumentException — этот метод не реализован
См. также:
  • Border
  • CompoundBorder

getInsets

public final Insets getInsets()
Возвращает размеры отступов (границы) как (0,0,0,0), поскольку границы для JViewport не поддерживаются.
Переопределяет:
getInsets в классе JComponent
Возвращает:
объект Rectangle с нулевыми размерами и нулевым началом координат
См. также:
  • setBorder(Border)

getInsets

@BeanProperty(expert=true) public final Insets getInsets(Insets insets)
Возвращает объект Insets, содержащий значения отступов этого JViewport. Переданный объект Insets инициализируется заново, а все имеющиеся в нем значения перезаписываются.
Переопределяет:
getInsets в классе JComponent
Параметры:
insets — повторно используемый объект Insets
Возвращает:
значения отступов этой области просмотра
См. также:
  • getInsets()

isOptimizedDrawingEnabled

public boolean isOptimizedDrawingEnabled()
JViewport переопределяет реализацию этого метода по умолчанию (в JComponent), возвращая false. Это гарантирует, что механизм отрисовки вызовет реализацию paint компонента Viewport, а не будет обращаться напрямую к дочерним компонентам JViewport.
Переопределяет:
isOptimizedDrawingEnabled в классе JComponent
Возвращает:
false

isPaintingOrigin

protected boolean isPaintingOrigin()
Возвращает true, если режим прокрутки является BACKINGSTORE_SCROLL_MODE, заставляющим начинать отрисовку с JViewport или одного из его предков. В противном случае возвращает false.
Переопределяет:
isPaintingOrigin в классе JComponent
Возвращает:
true, если режим прокрутки является BACKINGSTORE_SCROLL_MODE.
См. также:
  • JComponent.isPaintingOrigin()

paint

public void paint(Graphics g)
В зависимости от того, включен ли backingStore, отрисовывает либо все изображение через буфер, либо только недавно открывшуюся часть, используя буфер для «blit» оставшейся части.
Термин «blit» — это произносимая форма названия инструкции PDP-10 BLT (BLock Transfer), которая копировала блок битов. (Если вам было интересно.)
Переопределяет:
paint в классе JComponent
Параметры:
g — контекст Graphics, в котором выполняется отрисовка
См. также:
  • JComponent.paintComponent(Graphics)
  • JComponent.paintBorder(Graphics)
  • JComponent.paintChildren(Graphics)
  • JComponent.getComponentGraphics(Graphics)
  • JComponent.repaint(long, int, int, int, int)

reshape

public void reshape(int x, int y, int w, int h)
Задает границы этой области просмотра. Если ширина или высота области просмотра изменилась, генерируется событие StateChanged.
Переопределяет:
reshape в классе JComponent
Параметры:
x — левая граница начала координат
y — верхняя граница начала координат
w — ширина в пикселях
h — высота в пикселях
См. также:
  • JComponent.reshape(int, int, int, int)

setScrollMode

@BeanProperty(bound=false, enumerationValues={"JViewport.BLIT_SCROLL_MODE","JViewport.BACKINGSTORE_SCROLL_MODE","JViewport.SIMPLE_SCROLL_MODE"}, description="Method of moving contents for incremental scrolls.") public void setScrollMode(int mode)
Используется для управления способом прокрутки содержимого области просмотра. Чтобы добиться максимальной производительности в конкретном случае, можно изменить этот режим.
Параметры:
mode — одно из следующих значений:
  • JViewport.BLIT_SCROLL_MODE
  • JViewport.BACKINGSTORE_SCROLL_MODE
  • JViewport.SIMPLE_SCROLL_MODE
Начиная с версии:
1.3
См. также:
  • BLIT_SCROLL_MODE
  • BACKINGSTORE_SCROLL_MODE
  • SIMPLE_SCROLL_MODE

getScrollMode

public int getScrollMode()
Возвращает текущий режим прокрутки.
Возвращает:
свойство scrollMode
Начиная с версии:
1.3
См. также:
  • setScrollMode(int)

isBackingStoreEnabled

@Deprecated public boolean isBackingStoreEnabled()
Устарело.
Начиная с платформы Java 2 v1.3 заменено на getScrollMode().
Возвращает true, если область просмотра хранит изображение своего содержимого вне экрана.
Возвращает:
true, если scrollMode имеет значение BACKINGSTORE_SCROLL_MODE

setBackingStoreEnabled

@Deprecated public void setBackingStoreEnabled(boolean enabled)
Устарело.
Начиная с платформы Java 2 v1.3 заменено на setScrollMode().
Если значение равно true, область просмотра будет хранить изображение своего содержимого вне экрана. Это изображение используется для снижения затрат при небольших однонаправленных изменениях viewPosition. Вместо перерисовки всей области просмотра мы используем Graphics.copyArea для выполнения части прокрутки.
Параметры:
enabled — если значение true, использовать буфер вне экрана

getView

public Component getView()
Возвращает единственный дочерний компонент JViewport или null.
Возвращает:
дочерний компонент области просмотра или null, если его нет
См. также:
  • setView(Component)

setView

public void setView(Component view)
Задает единственный легковесный дочерний компонент JViewport (view), которым может быть null.
Параметры:
view — новый легковесный дочерний компонент области просмотра
См. также:
  • getView()

getViewSize

public Dimension getViewSize()
Если размер представления не был задан явно, возвращает предпочтительный размер; в противном случае возвращает текущий размер представления. Если представление отсутствует, возвращает 0,0.
Возвращает:
объект Dimension, задающий размер представления

setViewSize

public void setViewSize(Dimension newSize)
Задает размер представления. Будет сгенерировано событие изменения состояния.
Параметры:
newSize — объект Dimension, задающий новый размер представления

getViewPosition

public Point getViewPosition()
Возвращает координаты представления, отображаемые в левом верхнем углу области просмотра, или 0,0, если представление отсутствует.
Возвращает:
объект Point с координатами верхнего левого угла

setViewPosition

public void setViewPosition(Point p)
Задает координаты представления, отображаемые в левом верхнем углу области просмотра; ничего не делает, если представление отсутствует.
Параметры:
p — объект Point с координатами верхнего левого угла

getViewRect

public Rectangle getViewRect()
Возвращает прямоугольник с началом координат getViewPosition и размером getExtentSize. Это видимая часть представления в координатах представления.
Возвращает:
объект Rectangle, задающий видимую часть представления в координатах представления.

computeBlit

protected boolean computeBlit(int dx, int dy, Point blitFrom, Point blitTo, Dimension blitSize, Rectangle blitPaint)
Вычисляет параметры операции blit, при которой изображение в буфере в данный момент содержит oldLoc в левом верхнем углу, а прокрутка выполняется к newLoc. Параметры изменяются, чтобы вернуть значения, необходимые для операции blit.
Параметры:
dx — горизонтальное смещение
dy — вертикальное смещение
blitFrom — Point, откуда выполняется blit
blitTo — Point, куда выполняется blit
blitSize — Dimension области для операции blit
blitPaint — область для операции blit
Возвращает:
true, если параметры изменены и можно выполнять blit; в противном случае false

getExtentSize

public Dimension getExtentSize()
Возвращает размер видимой части представления в координатах представления.
Возвращает:
объект Dimension, задающий размер представления

toViewCoordinates

public Dimension toViewCoordinates(Dimension size)
Преобразует размер в пиксельных координатах в координаты представления. Подклассы области просмотра, поддерживающие «логические координаты», переопределяют этот метод.
Параметры:
size — объект Dimension, заданный в пиксельных координатах
Возвращает:
объект Dimension, преобразованный в координаты представления

toViewCoordinates

public Point toViewCoordinates(Point p)
Преобразует точку в пиксельных координатах в координаты представления. Подклассы области просмотра, поддерживающие «логические координаты», переопределяют этот метод.
Параметры:
p — объект Point, заданный в пиксельных координатах
Возвращает:
объект Point, преобразованный в координаты представления

setExtentSize

public void setExtentSize(Dimension newExtent)
Задает размер видимой части представления в координатах представления.
Параметры:
newExtent — объект Dimension, задающий размер представления

createViewListener

protected JViewport.ViewListener createViewListener()
Создает прослушиватель для представления.
Возвращает:
объект ViewListener

createLayoutManager

protected LayoutManager createLayoutManager()
Подклассы могут переопределить этот метод, чтобы установить другой менеджер компоновки (или null) в конструкторе. Возвращает LayoutManager для установки в JViewport.
Возвращает:
объект LayoutManager

addChangeListener

public void addChangeListener(ChangeListener l)
Добавляет ChangeListener в список, уведомляемый при каждом изменении размера или положения представления либо размера области просмотра.
Параметры:
l — добавляемый ChangeListener
См. также:
  • removeChangeListener(ChangeListener)
  • setViewPosition(Point)
  • setViewSize(Dimension)
  • setExtentSize(Dimension)

removeChangeListener

public void removeChangeListener(ChangeListener l)
Удаляет ChangeListener из списка, уведомляемого при каждом изменении размера или положения представления либо размера области просмотра.
Параметры:
l — удаляемый ChangeListener
См. также:
  • addChangeListener(ChangeListener)

getChangeListeners

public ChangeListener[] getChangeListeners()
Возвращает массив всех ChangeListener, добавленных в этот JViewport с помощью addChangeListener().
Возвращает:
все добавленные ChangeListener или пустой массив, если прослушиватели не добавлены
Начиная с версии:
1.4

fireStateChanged

protected void fireStateChanged()
Уведомляет все ChangeListeners об изменении размера или положения представления либо размера области просмотра.
См. также:
  • addChangeListener(ChangeListener)
  • removeChangeListener(ChangeListener)
  • EventListenerList

repaint

public void repaint(long tm, int x, int y, int w, int h)
Всегда выполняет перерисовку в системе координат родительского компонента, чтобы компонент RepaintManager выполнял отрисовку только один раз.
Переопределяет:
repaint в классе JComponent
Параметры:
tm — максимальное время в миллисекундах до обновления
x — координата x (смещение в пикселях от левого края)
y — координата y (смещение в пикселях от верхнего края)
w — ширина
h — высота
См. также:
  • Component.update(java.awt.Graphics)

paramString

protected String paramString()
Возвращает строковое представление этого JViewport. Этот метод предназначен только для отладки; содержимое и формат возвращаемой строки могут различаться в разных реализациях. Возвращаемая строка может быть пустой, но не может быть null.
Переопределяет:
paramString в классе JComponent
Возвращает:
строковое представление этого JViewport

firePropertyChange

protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
Уведомляет прослушивателей об изменении свойства. Этот метод переопределен для обновления свойства windowBlit. (Свойство putClientProperty является окончательным.)
Переопределяет:
firePropertyChange в классе Component
Параметры:
propertyName — строка с именем свойства
oldValue — старое значение свойства
newValue — новое значение свойства

getAccessibleContext

public AccessibleContext getAccessibleContext()
Возвращает AccessibleContext, связанный с этим JViewport. Для областей просмотра AccessibleContext представлен объектом AccessibleJViewport. При необходимости создается новый экземпляр AccessibleJViewport.
Определено в:
getAccessibleContext в интерфейсе Accessible
Переопределяет:
getAccessibleContext в классе Component
Возвращает:
объект AccessibleJViewport, выполняющий роль AccessibleContext этого JViewport

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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/25/docs/api/java.desktop/javax/swing/JViewport.html

Spec-Zone.ru

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