- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JViewport
-
- All Implemented Interfaces:
-
ImageObserver
,MenuContainer
,Serializable
,Accessible
public class JViewport extends JComponent implements Accessible
您可以通过它查看基础信息的“视口”或“舷窗”。 滚动时,视口是什么。 就像窥视相机的取景器。 向上移动取景器会在图片的顶部带来新的东西,并丢失最底层的东西。默认情况下,
JViewport
是不透明的。 要更改此,请使用setOpaque
方法。注意:我们实现了一个更快的滚动算法,不需要缓冲区来绘制。算法的工作原理如下:
- 视图和父视图,并检查它们是否是
JComponents
,如果不是,停止并重新绘制整个视口。 - 如果视口被祖先隐藏,则停止并重新绘制整个视口。
- 计算将变得可见的区域,如果它与视口一样大,停止并重新绘制整个视图区域。
- 获取祖先
Window
的图形,并在滚动区域上做一个copyArea
。 - 提醒观点重绘新近可见的地区。
- 下一次在视口上调用paint时,如果剪辑区域小于视口大小,则定时器被启动以重绘整个区域。
copyArea
。 与非后备店相比,这种方法将大大减少涂漆区域。当视口被另一个窗口或部分屏幕遮挡时,这种方法可能导致比后备存储方法更慢的时间。 当另一个窗口遮蔽视口时,copyArea将复制垃圾,系统将生成一个绘画事件,以通知我们我们需要绘制新曝光的区域。 处理这种情况的唯一方法是重绘整个视口,这可能会导致比后备存储盒慢的性能。 在大多数应用程序中,当视口被另一个窗口或屏幕遮挡时,用户很少会滚动,所以这种优化通常在被遮蔽时是值得的。
警告: Swing不是线程安全的。 欲了解更多信息,请参阅Swing's Threading Policy 。
警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4版本开始,所有JavaBeans的长期存储支持已被添加到
java.beans
软件包中。 请参阅XMLEncoder
。- 从以下版本开始:
- 1.2
- 另请参见:
-
JScrollPane
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 protected class
JViewport.AccessibleJViewport
该类实现JViewport
类的可访问性支持。protected class
JViewport.ViewListener
视图的监听器。-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field 描述 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
等JList
。static int
SIMPLE_SCROLL_MODE
此模式使用非常简单的方式,每次滚动时重新绘制滚动窗格的全部内容。-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
构造方法摘要
构造方法 Constructor 描述 JViewport()
创建一个JViewport
。
-
方法摘要
所有方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 void
addChangeListener(ChangeListener l)
每次视图的大小,位置或视口的ChangeListener
大小已更改时通知的列表中添加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
大小已更改时,通知所有ChangeListeners
。AccessibleContext
getAccessibleContext()
获取与此JViewport关联的AccessibleContext。ChangeListener[]
getChangeListeners()
返回使用addChangeListener()添加到此JViewport的所有ChangeListener
的数组。Dimension
getExtentSize()
返回视图坐标中视图的可见部分的大小。Insets
getInsets()
由于边框不支持JViewport
,因此返回(0,0,0,0)的插图(边框)尺寸。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()
如果滚动模式是一个BACKINGSTORE_SCROLL_MODE
,导致绘画来源于JViewport
或其祖先之一,则返回true。void
paint(Graphics g)
根据backingStore
是否启用,可以通过后台存储来绘制图像,也可以仅绘制最近曝光的部分,使用后备存储将其余部分“blit”。protected String
paramString()
返回此JViewport
的字符串表示JViewport
。void
remove(Component child)
删除Viewport
的一个轻量级的孩子。void
removeChangeListener(ChangeListener l)
每次视图大小,位置或视口ChangeListener
大小更改时,ChangeListener
从列表中删除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属性重置为当前外观的值。-
Methods inherited from class 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, 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
-
Methods inherited from class 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
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, 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
-
-
-
-
字段详细信息
-
isViewSizeSet
protected boolean isViewSizeSet
当确定视口尺寸时为真。 默认值为false。
-
lastPaintPosition
protected Point lastPaintPosition
最后一个viewPosition
我们画了,所以我们知道多少后备店的图像是有效的。
-
backingStore
@Deprecated protected boolean backingStore
已过时。 从Java 2平台v1.3开始当此视口保持其内容的屏幕外图像时,该值为True,以便可以使用快速“位”功能进行某些滚动,而不是通过访问视图对象来构建显示。 默认值为false
。- 另请参见:
-
setScrollMode(int)
-
backingStoreImage
protected transient Image backingStoreImage
用于后台存储的视图图像。
-
scrollUnderway
protected boolean scrollUnderway
scrollUnderway
标志用于JList
等JList
。 当在JList
上按下downarrow键时,所选单元格是列表中的最后一个,scrollpane
自动滚动。 在这里,旧的选定单元格需要重新绘制,因此我们需要一个标志,使得视口只有在显式调用setViewPosition(Point)
时才进行优化绘制。 当通过其他路由调用setBounds
,标志关闭,视图正常进行重绘。 另一种方法是将其从JViewport
类中删除,并通过使用setBackingStoreEnabled
对JList
管理。 默认值为false
。
-
BLIT_SCROLL_MODE
public static final int BLIT_SCROLL_MODE
使用graphics.copyArea
实现滚动。 这是大多数应用程序中最快的。- 从以下版本开始:
- 1.3
- 另请参见:
-
setScrollMode(int)
, Constant Field Values
-
BACKINGSTORE_SCROLL_MODE
public static final int BACKINGSTORE_SCROLL_MODE
将视口内容绘制到屏幕外的图像中。 以前是JTable
的默认模式。 在某些情况下,此模式可能会优于“blit模式”,但它需要大量额外的RAM。- 从以下版本开始:
- 1.3
- 另请参见:
-
setScrollMode(int)
, Constant Field Values
-
SIMPLE_SCROLL_MODE
public static final int SIMPLE_SCROLL_MODE
此模式使用非常简单的方式,每次滚动时重新绘制滚动窗格的全部内容。 这是Swing 1.0和Swing 1.1中的默认行为。 在大多数情况下,其他两个选项都将提供更好的性能。- 从以下版本开始:
- 1.3
- 另请参见:
-
setScrollMode(int)
, Constant Field Values
-
-
方法详细信息
-
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
和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()
由于边框不支持JViewport
,因此将尺寸作为(0,0,0,0)的尺寸返回。- 重写:
-
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
对象 - 结果
- 这个视口插入值
- 另请参见:
-
getInsets()
-
isOptimizedDrawingEnabled
public boolean isOptimizedDrawingEnabled()
JViewport
覆盖此方法的默认实现(在JComponent
)返回false。 这确保了绘图机器将会调用Viewport
的paint
实现,而不是直接发送JViewport
的孩子。- 重写:
-
isOptimizedDrawingEnabled
在JComponent
- 结果
- 假
-
isPaintingOrigin
protected boolean isPaintingOrigin()
如果滚动模式是一个BACKINGSTORE_SCROLL_MODE
,使绘画始于JViewport
或其祖先之一,则返回true。 否则返回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
@Deprecated public boolean isBackingStoreEnabled()
已过时。 从Java 2平台v1.3开始,由getScrollMode()
代替。如果此视口保持其内容的屏幕外图像,则返回true
。- 结果
-
true
如果scrollMode
是BACKINGSTORE_SCROLL_MODE
-
setBackingStoreEnabled
@Deprecated public void setBackingStoreEnabled(boolean enabled)
已过时。 从Java 2平台v1.3开始,由setScrollMode()
代替。如果此视口将保持其内容的屏幕外图像,则为true。 该图像用于降低对viewPosition
的小一维更改的viewPosition
。 而不是重绘整个视口,我们使用Graphics.copyArea
来影响一些滚动。- 参数
-
enabled
- 如果是真的,请维护一个非屏幕后备店
-
getView
public Component getView()
返回JViewport
的一个孩子或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
。 这是视图中可见部分,视图坐标。- 结果
-
一个
Rectangle
使用视图坐标给出视图的可见部分。
-
computeBlit
protected boolean computeBlit(int dx, int dy, Point blitFrom, Point blitTo, Dimension blitSize, Rectangle blitPaint)
计算背景存储图像当前包含oldLoc
在左上角的blit的参数,然后滚动到newLoc
。 修改参数以返回blit所需的值。- 参数
-
dx
- 水平三角洲 -
dy
- 垂直三角形 -
blitFrom
-Point
我们是Point
从 -
blitTo
-Point
我们很Point
-
blitSize
- 该地区的Dimension
blit -
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()
为视图创建一个侦听器。- 结果
-
一个
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
大小更改时,ChangeListener
从列表中删除ChangeListener
。- 参数
-
l
- 要删除的ChangeListener
- 另请参见:
-
addChangeListener(javax.swing.event.ChangeListener)
-
getChangeListeners
public ChangeListener[] getChangeListeners()
返回使用addChangeListener()添加到此JViewport的所有ChangeListener
的数组。- 结果
-
所有的
ChangeListener
添加或一个空数组,如果没有听众被添加 - 从以下版本开始:
- 1.4
-
fireStateChanged
protected void fireStateChanged()
当视图大小,位置或视口ChangeListeners
大小已更改时,通知所有ChangeListeners
。
-
repaint
public void repaint(long tm, int x, int y, int w, int h)
始终在父母坐标系中重新绘制,以确保只有一个油漆由RepaintManager
执行。- 重写:
-
repaint
在JComponent
- 参数
-
tm
- 更新前的最大时间(以毫秒为单位) -
x
-x
坐标(左上角的像素) -
y
-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
-
-