- 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方法。注意:我们实现了一种更快的滚动算法,不需要缓冲区来绘制。算法的工作原理如下:
- 检查视图和父视图以查看它们是否为
JComponents,如果不是,则停止并重新绘制整个视口。 - 如果视口被祖先遮挡,请停止并重新绘制整个视口。
- 计算将变为可见的区域,如果它与视口一样大,则停止并重新绘制整个视图区域。
- 获取祖先
Window的图形并在滚动区域上执行copyArea。 - 向视图发送消息以重新绘制新可见区域。
- 下一次在视口上调用绘制时,如果剪辑区域小于视口大小,则启动计时器以重新绘制整个区域。
copyAreas的开销。 与非后备商店案例相比,这种方法将大大减少绘制区域。当视口被另一个窗口遮挡或部分偏离屏幕时,此方法可能导致比后备存储方法更慢的时间。 当另一个窗口遮挡视口时,copyArea将复制垃圾,系统将生成一个绘制事件,告知我们需要绘制新暴露的区域。 处理此问题的唯一方法是重新绘制整个视口,这会导致性能低于后备存储的情况。 在大多数应用程序中,当视口被另一个窗口或屏幕遮挡时,用户很少会滚动,因此这种优化通常值得在模糊时达到性能。
警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy 。
警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans软件包中添加了对所有JavaBeansjava.beans长期存储的支持。 请参阅XMLEncoder。- 从以下版本开始:
- 1.2
- 另请参见:
-
JScrollPane, Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 protected classJViewport.AccessibleJViewport此类实现JViewport类的可访问性支持。protected classJViewport.ViewListener视图的监听器。-
嵌套类/接口声明在类 javax.swing.JComponent
JComponent.AccessibleJComponent
-
嵌套类/接口声明在类 java.awt.Container
Container.AccessibleAWTContainer
-
-
字段汇总
字段 变量和类型 字段 描述 protected booleanbackingStore已过时。截至Java 2平台v1.3static intBACKINGSTORE_SCROLL_MODE将视口内容绘制到屏幕外图像中。protected ImagebackingStoreImage用于后备存储的视图图像。static intBLIT_SCROLL_MODE使用graphics.copyArea实现滚动。protected booleanisViewSizeSet确定视口尺寸时为True。protected PointlastPaintPosition我们绘制的最后一个viewPosition,因此我们知道有多少后备存储图像有效。protected booleanscrollUnderwayscrollUnderway标志用于JList等JList。static intSIMPLE_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。
-
方法摘要
所有方法 实例方法 具体的方法 弃用的方法 变量和类型 方法 描述 voidaddChangeListener(ChangeListener l)将ChangeListener添加到每次视图的大小,位置或视口的范围大小更改时通知的列表中。protected voidaddImpl(Component child, Object constraints, int index)设置JViewport的一个轻量级子项,可以是null。protected booleancomputeBlit(int dx, int dy, Point blitFrom, Point blitTo, Dimension blitSize, Rectangle blitPaint)计算blit的参数,其中后备存储图像当前包含oldLoc,我们正在滚动到newLoc。protected LayoutManagercreateLayoutManager()子类可以覆盖它以在构造函数中安装不同的布局管理器(或null)。protected JViewport.ViewListenercreateViewListener()为视图创建一个侦听器。protected voidfirePropertyChange(String propertyName, Object oldValue, Object newValue)通知听众属性更改。protected voidfireStateChanged()视图大小,位置或视口范围大小发生更改时通知所有ChangeListeners。AccessibleContextgetAccessibleContext()获取与此JViewport关联的AccessibleContext。ChangeListener[]getChangeListeners()返回使用addChangeListener()添加到此JViewport的所有ChangeListener的数组。DimensiongetExtentSize()返回视图坐标中视图可见部分的大小。InsetsgetInsets()将insets(border)维返回为(0,0,0,0),因为JViewport不支持JViewport。InsetsgetInsets(Insets insets)返回包含此JViewports插入值的Insets对象。intgetScrollMode()返回当前滚动模式。ViewportUIgetUI()返回呈现此组件的L&F对象。StringgetUIClassID()返回一个字符串,该字符串指定呈现此组件的L&F类的名称。ComponentgetView()返回JViewport的一个孩子或null。PointgetViewPosition()返回显示在视口左上角的视图坐标,如果没有视图,则返回0,0。RectanglegetViewRect()返回一个矩形,其原点为getViewPosition,大小为getExtentSize。DimensiongetViewSize()如果未显式设置视图的大小,则返回首选大小,否则返回视图的当前大小。booleanisBackingStoreEnabled()已过时。截至Java 2平台v1.3,取而代之的是getScrollMode()。booleanisOptimizedDrawingEnabled()JViewport会覆盖此方法的默认实现(在JComponent)以返回false。protected booleanisPaintingOrigin()如果滚动模式为BACKINGSTORE_SCROLL_MODE,则返回true,以使绘制源自JViewport或其祖先之一。voidpaint(Graphics g)根据是否启用了backingStore,可以通过后备存储器绘制图像,也可以仅绘制最近曝光的部件,使用后备存储器“blit”其余部分。protected StringparamString()返回此JViewport的字符串表示JViewport。voidremove(Component child)删除Viewport的一个轻量级儿童。voidremoveChangeListener(ChangeListener l)从每次视图大小,位置或视口范围大小更改时通知的列表中删除ChangeListener。voidrepaint(long tm, int x, int y, int w, int h)始终在父坐标系中重新绘制,以确保RepaintManager仅执行一次绘制。voidreshape(int x, int y, int w, int h)设置此视口的边界。voidscrollRectToVisible(Rectangle contentRect)滚动视图,使视图中的Rectangle变为可见。voidsetBackingStoreEnabled(boolean enabled)已过时。截至Java 2平台v1.3,取而代之的是setScrollMode()。voidsetBorder(Border border)视口通过正常的父/子剪辑“滚动”其子(称为“视图”)(通常视图在滚动的相反方向上移动)。voidsetExtentSize(Dimension newExtent)使用视图坐标设置视图的可见部分的大小。voidsetScrollMode(int mode)用于控制滚动视口内容的方法。voidsetUI(ViewportUI ui)设置呈现此组件的L&F对象。voidsetView(Component view)设置JViewport的一个轻量级子项(view),可以是null。voidsetViewPosition(Point p)设置显示在视口左上角的视图坐标,如果没有视图则不执行任何操作。voidsetViewSize(Dimension newSize)设置视图的大小。DimensiontoViewCoordinates(Dimension size)将像素坐标中的大小转换为视图坐标。PointtoViewCoordinates(Point p)将像素坐标中的点转换为视图坐标。voidupdateUI()将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
@Deprecated protected 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-ViewportUIL&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
@Deprecated public boolean isBackingStoreEnabled()
Deprecated.As of Java 2 platform v1.3, replaced bygetScrollMode().如果此视口正在维护其内容的屏幕外图像,则返回true。- 结果
-
true如果scrollMode是BACKINGSTORE_SCROLL_MODE
-
setBackingStoreEnabled
@Deprecated public 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
-
-