Spec-Zone.ru › OpenJDK 24

Класс 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 скопирует мусор, и система сгенерирует событие 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 platform v1.3
static final int BACKINGSTORE_SCROLL_MODE
Рисует содержимое представления в отложенном изображении.
protected Image backingStoreImage
Изображение представления, используемое для буфера.
static final int BLIT_SCROLL_MODE
Используйте graphics.copyArea для реализации прокрутки.
protected boolean isViewSizeSet
Истинно, когда размеры представления определены.
protected Point lastPaintPosition
Последнее viewPosition, которое мы нарисовали, чтобы знать, какая часть изображения буфера действительна.
protected boolean scrollUnderway
Флаг scrollUnderway используется для компонентов, таких как JList.
static final 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)
Вычисляет параметры для blit, где изображение буфера хранения в данный момент содержит 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 платформы v1.3, заменено на getScrollMode().
boolean isOptimizedDrawingEnabled()
JViewport переопределяет реализацию этого метода по умолчанию (в JComponent) для возвращения false.
protected boolean isPaintingOrigin()
Возвращает true, если режим прокрутки является BACKINGSTORE_SCROLL_MODE для запуска отрисовки с JViewport или одного из его предков.
void paint(Graphics g)
В зависимости от того, включён ли backingStore, либо отрисуйте изображение через буфер хранения, либо отрисуйте только недавно открытую часть, используя буфер хранения для "blit" остального.
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 платформы v1.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()
Сбрасывает свойство пользовательского интерфейса на значение из текущей темы.

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

Методы, объявленные в классе 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, 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
Истина, если область просмотра сохраняет внеэкранное изображение своего содержимого, чтобы некоторые прокрутки могли выполняться с помощью быстрых операций «битовая копия» вместо доступа к объекту представления для построения отображения. По умолчанию false.
См. также:
  • setScrollMode(int)

backingStoreImage

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

scrollUnderway

protected boolean scrollUnderway
Флаг scrollUnderway используется для компонентов, таких как JList. При нажатии клавиши вниз на JList, и выбранная ячейка является последней в списке, область просмотра выполняет автоматическую прокрутку. Здесь необходимо перерисовать старую выбранную ячейку, и поэтому нам нужен флаг, чтобы заставить область просмотра выполнять оптимизированную отрисовку только при явном вызове 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. В некоторых случаях этот режим может предложить преимущества по сравнению с режимом «битовая копия», но он требует большого объема дополнительной оперативной памяти.
С:
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)
Устанавливает единственного облегченного потомка области просмотра, который может быть null. (Поскольку существует только один потомок, занимающий всю область просмотра, аргументы constraints и index игнорируются.)
Переопределяет:
addImpl в классе Container
Параметры:
child - облегченный child области просмотра
constraints - constraints для соблюдения
index - индекс
См. также:
  • setView(java.awt.Component)

remove

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

scrollRectToVisible

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

Это пытается валидировать представление перед прокруткой, если представление в настоящее время не валидно - isValid возвращает ложь. Чтобы избежать чрезмерной валидации при создании иерархии включения, это не валидирует, если у одного из предков нет компаньона, или нет предка, который выполняет валидацию, или один из предков не является 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.
Overrides:
getInsets в классе JComponent
Returns:
a Rectangle нулевых размеров и нулевого начала
См. также:
  • setBorder(javax.swing.border.Border)

getInsets

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

isOptimizedDrawingEnabled

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

isPaintingOrigin

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

paint

public void paint(Graphics g)
В зависимости от того, включен ли backingStore, либо нарисуйте изображение через буферный слой, либо нарисуйте только недавно открытую часть, используя буферный слой для «блиттинга» остальной части.
Термин «блиттинг» - это произнесённая версия инструкции BLT (BLock Transfer) PDP-10, которая копирует блок битов. (Если вы были любопытно.)
Overrides:
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.
Overrides:
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
Since:
1.3
См. также:
  • BLIT_SCROLL_MODE
  • BACKINGSTORE_SCROLL_MODE
  • SIMPLE_SCROLL_MODE

getScrollMode

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

isBackingStoreEnabled

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

setBackingStoreEnabled

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

getView

public Component getView()
Возвращает единственного потомка JViewport или null.
Returns:
потомок viewport'а или null, если он отсутствует
См. также:
  • setView(java.awt.Component)

setView

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

getViewSize

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

setViewSize

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

getViewPosition

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

setViewPosition

public void setViewPosition(Point p)
Устанавливает координаты представления, которые отображаются в верхнем левом углу viewport'а, ничего не делает, если представление отсутствует.
Параметры:
p - объект Point, задающий координаты верхнего левого угла

getViewRect

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

computeBlit

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

getExtentSize

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

toViewCoordinates

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

toViewCoordinates

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

setExtentSize

public void setExtentSize(Dimension newExtent)
Устанавливает размер видимой части представления, используя координаты представления.
Parameters:
newExtent - объект Dimension, указывающий размер представления

createViewListener

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

createLayoutManager

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

addChangeListener

public void addChangeListener(ChangeListener l)
Добавляет ChangeListener в список, который уведомляется каждый раз, когда размер, положение представления или размер области просмотра изменены.
Parameters:
l - добавляемый ChangeListener
See Also:
  • removeChangeListener(javax.swing.event.ChangeListener)
  • setViewPosition(java.awt.Point)
  • setViewSize(java.awt.Dimension)
  • setExtentSize(java.awt.Dimension)

removeChangeListener

public void removeChangeListener(ChangeListener l)
Удаляет ChangeListener из списка, который уведомляется каждый раз, когда размер, положение представления или размер области просмотра изменены.
Parameters:
l - удаляемый ChangeListener
See Also:
  • addChangeListener(javax.swing.event.ChangeListener)

getChangeListeners

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

fireStateChanged

protected void fireStateChanged()
Уведомляет всех ChangeListeners, когда размер, положение представления или размер области просмотра изменены.
See Also:
  • 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
Parameters:
tm - максимальное время в миллисекундах до обновления
x - координата x (пиксели справа от левого)
y - координата y (пиксели вниз от верхнего)
w - ширина
h - высота
See Also:
  • Component.update(java.awt.Graphics)

paramString

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

firePropertyChange

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

getAccessibleContext

public AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этим JViewport. Для представлений AccessibleContext принимает вид AccessibleJViewport. Новый AccessibleJViewport создается при необходимости.
Specified by:
getAccessibleContext в интерфейсе Accessible
Overrides:
getAccessibleContext в классе Component
Returns:
AccessibleJViewport, выступающий в качестве AccessibleContext этого JViewport

© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/JViewport.html

Spec-Zone.ru

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