Класс 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 будет копировать мусор, и система сгенерирует событие paint, чтобы сообщить, что нам нужно перерисовать вновь появившуюся область. Единственный способ справиться с этим — перерисовать всё представление целиком, что может снизить производительность по сравнению с подходом с буфером. В большинстве приложений пользователь очень редко будет прокручивать, пока представление заслонено другим окном или находится за пределами экрана, поэтому эта оптимизация обычно оправдывает снижение производительности при заслонении.

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

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

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

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

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

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

protected class  JViewport.ViewListener

Прослушиватель представления.

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

JComponent.AccessibleJComponent

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

Container.AccessibleAWTContainer

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

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

Поля

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

Устарело.

Начиная с платформы Java 2 v1.3

static int BACKINGSTORE_SCROLL_MODE

Отображает содержимое представления в изображении вне экрана.

protected Image backingStoreImage

Изображение представления, используемое для буфера.

static int BLIT_SCROLL_MODE

Используйте graphics.copyArea для реализации прокрутки.

protected boolean isViewSizeSet

Истина, когда размеры представления определены.

protected Point lastPaintPosition

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

protected boolean scrollUnderway

Флаг scrollUnderway используется для компонентов, таких как JList.

static int SIMPLE_SCROLL_MODE

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

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

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

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

accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

Поля, объявленные в интерфейсе java.awt.image.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()

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

Insets getInsets()

Возвращает размеры отступов (рамки) как (0,0,0,0), так как рамки не поддерживаются на JViewport.

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 platform v1.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 platform v1.3, заменено на setScrollMode().

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()

Сбрасывает свойство пользовательского интерфейса до значения из текущего стиля.

Методы, объявленные в классе javax.swing.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, 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

Методы, объявленные в классе java.awt.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

Методы, объявленные в классе java.awt.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, hide, 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

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

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

Поля

isViewSizeSet

protected boolean isViewSizeSet

Истинно, когда размеры области просмотра были определены. По умолчанию ложно.

lastPaintPosition

protected Point lastPaintPosition

Последняя viewPosition , которую мы отрисовали, так что мы знаем, какая часть изображения буфера действительна.

backingStore

@Deprecated
protected boolean backingStore
Устаревшее.
С версии Java 2 platform v1.3

Истинно, когда эта область просмотра сохраняет офскрин-изображение своего содержимого, чтобы некоторые прокрутки могли выполняться с помощью быстрых операций «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(javax.swing.JComponent)

updateUI

public void updateUI()

Сбрасывает свойство UI на значение из текущей темы оформления.

Переопределяет:
updateUI в классе JComponent
См. также:
JComponent.updateUI()

getUIClassID

public String getUIClassID()

Возвращает строку, задающую имя класса L&F, который отображает этот компонент.

Переопределяет:
getUIClassID в классе JComponent
Возвращает:
строку "ViewportUI"
См. также:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

addImpl

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

Устанавливает единственного лёгкого потомка JViewport, который может быть null. (Поскольку существует только один потомок, занимающий весь viewport, аргументы constraints и index игнорируются.)

Переопределяет:
addImpl в классе Container
Параметры:
child - лёгкий потомок child viewport
constraints - constraints для соблюдения
index - индекс
См. также:
setView(java.awt.Component)

remove

public void remove(Component child)

Удаляет единственного лёгкого потомка Viewport.

Переопределяет:
remove в классе Container
Параметры:
child - компонент для удаления
См. также:
setView(java.awt.Component)

scrollRectToVisible

public void scrollRectToVisible(Rectangle contentRect)

Прокручивает представление так, чтобы Rectangle внутри представления стало видимым.

Это пытается валидировать представление перед прокруткой, если представление в настоящее время не валидно - isValid возвращает false. Для избежания избыточной валидации при создании иерархии контейнеров это не будет валидировать, если у одного из предков нет peer, или нет корневого предка validate, или один из предков не является Window или Applet.

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

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

setBorder

public final void setBorder(Border border)

Viewport "прокручивает" своего потомка (называемого "представлением") с помощью обычного родительско-потомкового обрезания (обычно представление перемещается в противоположном направлении от прокрутки). Граница, отличная от 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(javax.swing.border.Border)

getInsets

@BeanProperty(expert=true)
public final Insets getInsets(Insets insets)

Возвращает объект Insets, содержащий значения отступов этого JViewport. Переданный объект Insets будет перезапущен, и все существующие значения в этом объекте будут перезаписаны.

Переопределяет:
getInsets в классе JComponent
Параметры:
insets - объект Insets, который можно повторно использовать
Возвращает:
значения отступов этого viewport
См. также:
getInsets()

isOptimizedDrawingEnabled

public boolean isOptimizedDrawingEnabled()

JViewport переопределяет стандартную реализацию этого метода (в JComponent) с возвращением false. Это гарантирует, что механизм рисования вызовет реализацию Viewport paint, а не отправлять сообщения непосредственно потомкам 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, рисует изображение через буферный магазин или только недавно открытую часть, используя буферный магазин для "копирования" остальной части.

Термин "копирование" — это произнесённая версия инструкции PDP-10 BLT (BLock Transfer), которая копировала блок бит. (На случай, если вас это интересовало.)

Переопределяет:
paint в классе JComponent
Параметры:
g - контекст Graphics для рисования
См. также:
JComponent.paintComponent(java.awt.Graphics), JComponent.paintBorder(java.awt.Graphics), JComponent.paintChildren(java.awt.Graphics), JComponent.getComponentGraphics(java.awt.Graphics), JComponent.repaint(long, int, int, int, int)

reshape

public void reshape(int x,
                    int y,
                    int w,
                    int h)

Устанавливает границы этого viewport. Если ширина или высота viewport изменились, генерируется событие 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)

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

Параметры:
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 platform v1.3, заменено на getScrollMode().

Возвращает true , если этот viewport поддерживает внеэкранное изображение своего содержимого.

Возвращает:
true если scrollMode BACKINGSTORE_SCROLL_MODE

setBackingStoreEnabled

@Deprecated
public void setBackingStoreEnabled(boolean enabled)
Устаревшее.
С Java 2 platform v1.3, заменено на setScrollMode().

Если true, этот viewport будет поддерживать внеэкранное изображение своего содержимого. Изображение используется для сокращения затрат при небольших одномерных изменениях в viewPosition. Вместо перерисовки всего viewport используется Graphics.copyArea для некоторых прокруток.

Параметры:
enabled - если true, поддерживать внеэкранный буфер

getView

public Component getView()

Возвращает единственного потомка JViewport или null.

Возвращает:
потомок viewport или null , если он отсутствует
См. также:
setView(java.awt.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)

Вычисляет параметры блица, где изображение буфера в настоящее время содержит oldLoc в верхнем левом углу, и мы прокручиваем до newLoc. Параметры изменяются, чтобы вернуть значения, необходимые для блица.

Параметры:
dx - горизонтальное смещение
dy - вертикальное смещение
blitFrom - Point , из которого происходит блит
blitTo - Point , на который производится блит
blitSize - Dimension области для блица
blitPaint - область для блица
Возвращает:
true, если параметры изменены и мы готовы к блич; иначе 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(javax.swing.event.ChangeListener), setViewPosition(java.awt.Point), setViewSize(java.awt.Dimension), setExtentSize(java.awt.Dimension)

removeChangeListener

public void removeChangeListener(ChangeListener l)

Удаляет ChangeListener из списка, который уведомляется каждый раз, когда изменяются размер, положение представления или размер области просмотра.

Параметры:
l - удаляемый ChangeListener
См. также:
addChangeListener(javax.swing.event.ChangeListener)

getChangeListeners

public ChangeListener[] getChangeListeners()

Возвращает массив всех ChangeListener , добавленных в этот JViewport с помощью addChangeListener().

Возвращает:
все добавленные ChangeListener или пустой массив, если слушатели не были добавлены
Since:
1.4

fireStateChanged

protected void fireStateChanged()

Уведомляет всех ChangeListeners , когда изменяются размер, положение представления или размер области просмотра.

См. также:
addChangeListener(javax.swing.event.ChangeListener), removeChangeListener(javax.swing.event.ChangeListener), EventListenerList

repaint

public void repaint(long tm,
                    int x,
                    int y,
                    int w,
                    int h)

Всегда перерисовывает в координатах родителя, чтобы убедиться, что RepaintManager выполняет только одно перерисовку.

Overrides:
repaint в классе JComponent
Параметры:
tm - максимальное время в миллисекундах перед обновлением
x - координата x (пиксели справа от левого)
y - координата y (пиксели вниз от верхнего)
w - ширина
h - высота
См. также:
Component.update(java.awt.Graphics)

paramString

protected String paramString()

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

Overrides:
paramString в классе JComponent
Возвращает:
строковое представление этого JViewport

firePropertyChange

protected void firePropertyChange(String propertyName,
                                  Object oldValue,
                                  Object newValue)

Уведомляет слушателей об изменении свойства. Этот метод переопределяется, чтобы обновить свойство windowBlit. (Свойство putClientProperty является конечным).

Overrides:
firePropertyChange в классе Component
Параметры:
propertyName - строка, содержащая имя свойства
oldValue - старое значение свойства
newValue - новое значение свойства

getAccessibleContext

public AccessibleContext getAccessibleContext()

Получает AccessibleContext, связанный с этим JViewport. Для областей просмотра AccessibleContext представлен в виде AccessibleJViewport. Новый AccessibleJViewport создаётся при необходимости.

Specified by:
getAccessibleContext в интерфейсе Accessible
Overrides:
getAccessibleContext в классе Component
Возвращает:
AccessibleJViewport, который служит AccessibleContext для этого JViewport

© 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/JViewport.html

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