- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JViewport
-
- 实现的所有接口
-
ImageObserver
,MenuContainer
,Serializable
,Accessible
public class JViewportextends JComponentimplements Accessible
“视口”或“舷窗”,通过它您可以看到基础信息。 滚动时,视口移动的是什么。 这就像窥视相机的取景器。 向上移动取景器会在图片的顶部显示新内容,并丢失底部的内容。默认情况下,
JViewport
是不透明的。 要更改此设置,请使用setOpaque
方法。注意:我们实现了一种更快的滚动算法,不需要缓冲区来绘制。算法的工作原理如下:
- 检查视图和父视图以查看它们是否为
JComponents
,如果不是,则停止并重新绘制整个视口。 - 如果视口被祖先遮挡,请停止并重新绘制整个视口。
- 计算将变为可见的区域,如果它与视口一样大,则停止并重新绘制整个视图区域。
- 获取祖先
Window
的图形并在滚动区域上执行copyArea
。 - 向视图发送消息以重新绘制新可见区域。
- 下一次在视口上调用绘制时,如果剪辑区域小于视口大小,则启动计时器以重新绘制整个区域。
copyArea
s的开销。 与非后备商店案例相比,这种方法将大大减少绘制区域。当视口被另一个窗口遮挡或部分偏离屏幕时,此方法可能导致比后备存储方法更慢的时间。 当另一个窗口遮挡视口时,copyArea将复制垃圾,系统将生成一个绘制事件,告知我们需要绘制新暴露的区域。 处理此问题的唯一方法是重新绘制整个视口,这会导致性能低于后备存储的情况。 在大多数应用程序中,当视口被另一个窗口或屏幕遮挡时,用户很少会滚动,因此这种优化通常值得在模糊时达到性能。
警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy 。
警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans
软件包中添加了对所有JavaBeansjava.beans
长期存储的支持。 请参阅XMLEncoder
。- 从以下版本开始:
- 1.2
- 另请参见:
-
JScrollPane
, Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 protected class
JViewport.AccessibleJViewport
此类实现JViewport
类的可访问性支持。protected class
JViewport.ViewListener
视图的监听器。-
嵌套类/接口声明在类 javax.swing.JComponent
JComponent.AccessibleJComponent
-
嵌套类/接口声明在类 java.awt.Container
Container.AccessibleAWTContainer
-
-
字段汇总
字段 变量和类型 字段 描述 protected boolean
backingStore
已过时。截至Java 2平台v1.3static int
BACKINGSTORE_SCROLL_MODE
将视口内容绘制到屏幕外图像中。protected Image
backingStoreImage
用于后备存储的视图图像。static int
BLIT_SCROLL_MODE
使用graphics.copyArea
实现滚动。protected boolean
isViewSizeSet
确定视口尺寸时为True。protected Point
lastPaintPosition
我们绘制的最后一个viewPosition
,因此我们知道有多少后备存储图像有效。protected boolean
scrollUnderway
scrollUnderway
标志用于JList
等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
-
Fields declared in interface 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()
获取与此JViewport关联的AccessibleContext。ChangeListener[]
getChangeListeners()
返回使用addChangeListener()添加到此JViewport的所有ChangeListener
的数组。Dimension
getExtentSize()
返回视图坐标中视图可见部分的大小。Insets
getInsets()
将insets(border)维返回为(0,0,0,0),因为JViewport
不支持JViewport
。Insets
getInsets(Insets insets)
返回包含此JViewport
s插入值的Insets
对象。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()
如果滚动模式为BACKINGSTORE_SCROLL_MODE
,则返回true,以使绘制源自JViewport
或其祖先之一。void
paint(Graphics g)
根据是否启用了backingStore
,可以通过后备存储器绘制图像,也可以仅绘制最近曝光的部件,使用后备存储器“blit”其余部分。protected String
paramString()
返回此JViewport
的字符串表示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()
。void
setBorder(Border border)
视口通过正常的父/子剪辑“滚动”其子(称为“视图”)(通常视图在滚动的相反方向上移动)。void
setExtentSize(Dimension newExtent)
使用视图坐标设置视图的可见部分的大小。void
setScrollMode(int mode)
用于控制滚动视口内容的方法。void
setUI(ViewportUI ui)
设置呈现此组件的L&F对象。void
setView(Component view)
设置JViewport
的一个轻量级子项(view
),可以是null
。void
setViewPosition(Point p)
设置显示在视口左上角的视图坐标,如果没有视图则不执行任何操作。void
setViewSize(Dimension newSize)
设置视图的大小。Dimension
toViewCoordinates(Dimension size)
将像素坐标中的大小转换为视图坐标。Point
toViewCoordinates(Point p)
将像素坐标中的点转换为视图坐标。void
updateUI()
将UI属性重置为当前外观的值。-
声明方法的类 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
-
-
-
-
字段详细信息
-
isViewSizeSet
protected boolean isViewSizeSet
确定视口尺寸时为True。 默认值为false。
-
lastPaintPosition
protected Point lastPaintPosition
我们绘制的最后一个viewPosition
,因此我们知道有多少后备存储图像有效。
-
backingStore
@Deprecatedprotected boolean backingStore
Deprecated.As of Java 2 platform v1.3当此视口维护其内容的屏幕外图像时为True,以便可以使用快速“bit-blit”操作而不是通过访问视图对象来构建显示来进行一些滚动。 默认值为false
。- 另请参见:
-
setScrollMode(int)
-
backingStoreImage
protected transient Image backingStoreImage
用于后备存储的视图图像。
-
scrollUnderway
protected boolean scrollUnderway
scrollUnderway
标志用于JList
等JList
。 当在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模式”,但它需要大量额外的RAM。- 从以下版本开始:
- 1.3
- 另请参见:
-
setScrollMode(int)
, 常数字段值
-
SIMPLE_SCROLL_MODE
public static final int SIMPLE_SCROLL_MODE
此模式使用每次滚动时重绘滚动窗格的整个内容的非常简单的方法。 这是Swing 1.0和Swing 1.1中的默认行为。 在大多数情况下,其他两个选项中的任何一个都将提供更好的性能。- 从以下版本开始:
- 1.3
- 另请参见:
-
setScrollMode(int)
, 常数字段值
-
-
方法详细信息
-
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
-ViewportUI
L&F对象 - 从以下版本开始:
- 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
。 (由于只有一个子constraints
占据整个视口,因此将忽略constraints
和index
参数。)- 重写:
-
addImpl
在类Container
- 参数
-
child
- 视口的轻量级child
-
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
尝试在滚动之前验证视图 -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
不支持JViewPort
。- 重写:
-
setBorder
在类JComponent
- 参数
-
border
- 要设置的Border
- 异常
-
IllegalArgumentException
- 未实现此方法 - 另请参见:
-
Border
,CompoundBorder
-
getInsets
public final Insets getInsets()
将insets(border)维返回为(0,0,0,0),因为JViewport
不支持JViewport
。- 重写:
-
getInsets
在类JComponent
- 结果
- 零维和零原点的
Rectangle
- 另请参见:
-
setBorder(javax.swing.border.Border)
-
getInsets
@BeanProperty(expert=true)public final Insets getInsets(Insets insets)
返回包含此JViewport
的插入值的Insets
对象。 传入的Insets
对象将重新初始化,并且此对象中的所有现有值都将被覆盖。- 重写:
-
getInsets
类JComponent
- 参数
-
insets
- 可以重复使用的Insets
对象 - 结果
- 此视口的插入值
- 另请参见:
-
getInsets()
-
isOptimizedDrawingEnabled
public boolean isOptimizedDrawingEnabled()
JViewport
会覆盖此方法的默认实现(在JComponent
)以返回false。 这可以确保绘图机器将调用Viewport
的paint
实现,而不是直接向JViewport
的子JViewport
发送消息。- 重写:
-
isOptimizedDrawingEnabled
在类JComponent
- 结果
- 假
-
isPaintingOrigin
protected boolean isPaintingOrigin()
如果滚动模式为BACKINGSTORE_SCROLL_MODE
,则返回true,以使绘制源自JViewport
或其祖先之一。 否则返回false
。- 重写:
-
isPaintingOrigin
在类JComponent
- 结果
- 如果滚动模式为
BACKINGSTORE_SCROLL_MODE
。 - 另请参见:
-
JComponent.isPaintingOrigin()
-
paint
public void paint(Graphics g)
根据是否启用了backingStore
,要么通过后备存储器绘制图像,要么仅绘制最近曝光的部件,使用后备存储器“blit”其余部分。The term "blit" is the pronounced version of the PDP-10 BLT (BLock Transfer) instruction, which copied a block of bits. (In case you were curious.)
-
reshape
public void reshape(int x, int y, int w, int h)
设置此视口的边界。 如果视口的宽度或高度已更改,则触发StateChanged
事件。- 重写:
-
reshape
在类JComponent
- 参数
-
x
- 原点的左边缘 -
y
- 原点的上边缘 -
w
- 宽度(以像素为单位) -
h
- 高度(以像素为单位) - 另请参见:
-
JComponent.reshape(int, int, int, int)
-
setScrollMode
@BeanProperty(bound=false, enumerationValues={"JViewport.BLIT_SCROLL_MODE","JViewport.BACKINGSTORE_SCROLL_MODE","JViewport.SIMPLE_SCROLL_MODE"}, description="Method of moving contents for incremental scrolls.")public void setScrollMode(int mode)
用于控制滚动视口内容的方法。 您可能希望更改此模式以获得最佳性能。- 参数
-
mode
- 以下值之一:- JViewport.BLIT_SCROLL_MODE
- JViewport.BACKINGSTORE_SCROLL_MODE
- JViewport.SIMPLE_SCROLL_MODE
- 从以下版本开始:
- 1.3
- 另请参见:
-
BLIT_SCROLL_MODE
,BACKINGSTORE_SCROLL_MODE
,SIMPLE_SCROLL_MODE
-
getScrollMode
public int getScrollMode()
返回当前滚动模式。- 结果
-
scrollMode
属性 - 从以下版本开始:
- 1.3
- 另请参见:
-
setScrollMode(int)
-
isBackingStoreEnabled
@Deprecatedpublic boolean isBackingStoreEnabled()
Deprecated.As of Java 2 platform v1.3, replaced bygetScrollMode()
.如果此视口正在维护其内容的屏幕外图像,则返回true
。- 结果
-
true
如果scrollMode
是BACKINGSTORE_SCROLL_MODE
-
setBackingStoreEnabled
@Deprecatedpublic void setBackingStoreEnabled(boolean enabled)
Deprecated.As of Java 2 platform v1.3, replaced bysetScrollMode()
.如果此视口将保留其内容的屏幕外图像,则为true。 该图像用于降低viewPosition
的小一维变化的viewPosition
。 我们使用Graphics.copyArea
来实现一些滚动,而不是重新绘制整个视口。- 参数
-
enabled
- 如果为true,则维护一个屏幕外后备存储
-
getView
public Component getView()
返回JViewport
的一个孩子或null
。- 结果
- 视
null
如果不存在,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
。 在视图坐标中,这是视图的可见部分。- 结果
- a
Rectangle
使用视图坐标给出视图的可见部分。
-
computeBlit
protected boolean computeBlit(int dx, int dy, Point blitFrom, Point blitTo, Dimension blitSize, Rectangle blitPaint)
计算blit的参数,其中后备存储图像当前包含oldLoc
,我们滚动到newLoc
。 修改参数以返回blit所需的值。- 参数
-
dx
- 水平增量 -
dy
- 垂直增量 -
blitFrom
-Point
我们正在Point
-
blitTo
-Point
我们正在Point
-
blitSize
- 该地区的Dimension
-
blitPaint
-blitPaint
的地方 - 结果
- 如果参数被修改并且我们准备好blit,则为true; 否则是假的
-
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()
为视图创建一个侦听器。- 结果
- a
ViewListener
-
createLayoutManager
protected LayoutManager createLayoutManager()
子类可以覆盖它以在构造函数中安装不同的布局管理器(或null
)。 返回LayoutManager
在其上安装JViewport
。- 结果
- a
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()
返回使用addChangeListener()添加到此JViewport的所有ChangeListener
的数组。- 结果
- 如果没有添加任何侦听器,则添加所有
ChangeListener
或空数组 - 从以下版本开始:
- 1.4
-
fireStateChanged
protected void fireStateChanged()
视图大小,位置或视口范围大小发生更改时通知所有ChangeListeners
。
-
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
的字符串表示JViewport
。 此方法仅用于调试目的,返回字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
。- 重写:
-
paramString
在类JComponent
- 结果
- 此
JViewport
的字符串表示JViewport
-
firePropertyChange
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
通知听众属性更改。 这是子类以更新windowBlit
属性。 (putClientProperty
属性是最终的)。- 重写:
-
firePropertyChange
在类Component
- 参数
-
propertyName
- 包含属性名称的字符串 -
oldValue
- 属性的旧值 -
newValue
- 该属性的新值
-
getAccessibleContext
public AccessibleContext getAccessibleContext()
获取与此JViewport关联的AccessibleContext。 对于视口,AccessibleContext采用AccessibleJViewport的形式。 如有必要,将创建一个新的AccessibleJViewport实例。- Specified by:
-
getAccessibleContext
在接口Accessible
- 重写:
-
getAccessibleContext
在类Component
- 结果
- 一个AccessibleJViewport,用作此JViewport的AccessibleContext
-
-