Spec-Zone.ru › OpenJDK 21

Класс 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 платформы 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.

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

Modifier and Type Method Description
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()
Возвращает массив всех ChangeListeners, добавленных в этот 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 platform 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 platform 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 платформы 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)
Устанавливает единственного лёгкого ребёнка области просмотра, который может быть null. (Поскольку существует только один ребёнок, занимающий всю область просмотра, аргументы constraints и index игнорируются.)
Переопределяет:
addImpl в классе Container
Параметры:
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 возвращает false. Чтобы избежать избыточной валидации при создании иерархии включения, это не будет валидировать, если у одного из предков нет пары, или нет родительского предка валидации, или один из предков не является 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(javax.swing.border.Border)

getInsets

@BeanProperty(expert=true) public final Insets getInsets(Insets insets)
Возвращает объект Insets содержащий значения отступов этого JViewport. Переданный объект Insets будет перезапущен, и все существующие значения в этом объекте перезапишутся.
Overrides:
getInsets в классе JComponent
Parameters:
insets - объект Insets, который может быть повторно использован
Returns:
значения отступов этого viewport
See Also:
  • 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.
See Also:
  • JComponent.isPaintingOrigin()

paint

public void paint(Graphics g)
В зависимости от того, включен ли backingStore, рисуется ли изображение через кэш или только недавно открытая часть, используя кэш для "blit" остального.
Термин "blit" - это произнесенная версия инструкции BLT (BLock Transfer) PDP-10, которая копирует блок битов. (На случай, если вас это интересовало.)
Overrides:
paint в классе JComponent
Parameters:
g - контекст Graphics для рисования
See Also:
  • 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
Parameters:
x - левая граница начала координат
y - верхняя граница начала координат
w - ширина в пикселях
h - высота в пикселях
See Also:
  • 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. Вы можете изменить этот режим для получения максимальной производительности в вашем случае использования.
Parameters:
mode - одно из следующих значений:
  • JViewport.BLIT_SCROLL_MODE
  • JViewport.BACKINGSTORE_SCROLL_MODE
  • JViewport.SIMPLE_SCROLL_MODE
Since:
1.3
See Also:
  • BLIT_SCROLL_MODE
  • BACKINGSTORE_SCROLL_MODE
  • SIMPLE_SCROLL_MODE

getScrollMode

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

isBackingStoreEnabled

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

setBackingStoreEnabled

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

getView

public Component getView()
Возвращает единственного дочернего элемента или null JViewport.
Returns:
дочерний элемент viewport, или null если он отсутствует
See Also:
  • setView(java.awt.Component)

setView

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

getViewSize

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

setViewSize

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

getViewPosition

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

setViewPosition

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

getViewRect

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

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()
Возвращает размер видимой части view в координатах view.
Returns:
объект Dimension задающий размер view

toViewCoordinates

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

toViewCoordinates

public Point toViewCoordinates(Point p)
Преобразует точку в пиксельных координатах в координаты представления. Подклассы viewport, поддерживающие "логические координаты", переопределят этот метод.
Параметры:
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 или пустой массив, если слушатели не добавлены
С:
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.
Переопределяет:
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 является final).
Переопределяет:
firePropertyChange в классе Component
Параметры:
propertyName - строка с именем свойства
oldValue - старое значение свойства
newValue - новое значение свойства

getAccessibleContext

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

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

Spec-Zone.ru

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