public class JViewport extends JComponent implements Accessible
 默认情况下, JViewport是不透明的。 要更改此,请使用setOpaque方法。 
注意:我们实现了一个更快的滚动算法,不需要缓冲区来绘制。算法的工作原理如下:
JComponents ,如果不是,停止并重绘整个视口。 Window的图形,并在滚动区域上做一个copyArea 。 copyArea 。 
       与非后备店相比,这种方法将大大减少涂漆区域。 
       当视口被另一个窗口或部分屏幕遮挡时,这种方法可能导致比后备存储方法更慢的时间。 当另一个窗口遮蔽视口时,copyArea将复制垃圾,系统将生成一个绘画事件,以通知我们我们需要绘制新曝光的区域。 处理这种情况的唯一方法是重绘整个视口,这可能会导致比后备存储盒慢的性能。 在大多数应用程序中,当视口被另一个窗口或屏幕遮挡时,用户很少会滚动,所以这种优化通常在被遮蔽时是值得的。
警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy 。
 警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4版本开始,所有JavaBeans的长期存储支持已被添加到java.beans软件包中。 请参阅XMLEncoder 。 
JScrollPane 
       | Modifier and Type | Class and Description | 
|---|---|
| protected class  | JViewport.AccessibleJViewport
              这个类实现了可访问性支持 
              JViewport类。 | 
| protected class  | JViewport.ViewListener
              视图的监听器。 
             | 
JComponent.AccessibleJComponentContainer.AccessibleAWTContainerComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy| Modifier and Type | Field and Description | 
|---|---|
| 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 | scrollUnderwayscrollUnderway标志用于JList等JList。 | 
| static int | SIMPLE_SCROLL_MODE
              此模式使用非常简单的方式,每次滚动时重新绘制滚动窗格的全部内容。 
             | 
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH| Constructor and Description | 
|---|
| JViewport()
              创建一个 
              JViewport。 | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addChangeListener(ChangeListener l)
              每当视图的大小,位置或视口的范围大小发生更改时, 
              ChangeListener添加到列表中。 | 
| protected void | addImpl(Component child, Object constraints, int index)
              设置 
              JViewport的一个轻量级的孩子,可以是null。 | 
| void | addNotify()
              通知此组件它现在有一个父组件。 
             | 
| 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()
              返回inset(边框)维(0,0,0,0),因为上不支持边框上 
              JViewport。 | 
| Insets | getInsets(Insets insets)
              返回一个 
              Insets这个JViewport的插入值的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,使绘画起源于JViewport或其祖先之一,则返回true。 | 
| void | paint(Graphics g)
              根据是否启用 
              backingStore,可以通过后台存储来绘制图像,也可以仅绘制最近曝光的部分,使用后备存储将“其余部分”设置为“blit”。 | 
| protected String | paramString()
              返回此 
              JViewport的字符串表示JViewport。 | 
| void | remove(Component child)
              删除 
              Viewport的一个轻量级的孩子。 | 
| void | removeChangeListener(ChangeListener l)
              每次视图大小,位置或视口扩展区大小更改时, 
              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内的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属性重置为当前外观的值。 
             | 
addAncestorListener, 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, updateadd, 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, validateTreeaction, 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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleprotected boolean isViewSizeSet
protected Point lastPaintPosition
viewPosition ,我们画了,所以我们知道多少后备店的图像是有效的。 
          @Deprecated protected boolean backingStore
false 。 
          setScrollMode(int) 
           protected transient Image backingStoreImage
protected boolean scrollUnderway
scrollUnderway标志用于JList等JList 。 
           当DownArrow中文按键上JList以及选择小区在列表的最后,该scrollpane autoscrolls。 
           在这里,旧的选定单元格需要重新绘制,因此我们需要一个标志,使视口仅在显示调用setViewPosition(Point)时进行setViewPosition(Point) 。 
           当通过其他路由调用setBounds时,标志关闭,视图正常显示。 
           另一种方法是将其从JViewport类中删除,并通过使用setBackingStoreEnabled JList管理setBackingStoreEnabled 。 
           默认值为false 。 
          public static final int BLIT_SCROLL_MODE
graphics.copyArea实现滚动。 
           这是大多数应用程序中最快的。 
          setScrollMode(int) , 
            Constant Field Values 
           public static final int BACKINGSTORE_SCROLL_MODE
JTable 。 
           在某些情况下,此模式可能会优于“blit模式”,但它需要大量额外的RAM。 
          setScrollMode(int) , 
            Constant Field Values 
           public static final int SIMPLE_SCROLL_MODE
setScrollMode(int) , 
            Constant Field Values 
           public ViewportUI getUI()
ViewportUI对象 
           public void setUI(ViewportUI ui)
ui - 
            ViewportUI L&F对象 
           UIDefaults.getUI(javax.swing.JComponent) 
           public void updateUI()
updateUI在 
            JComponent 
           JComponent.updateUI() 
           public String getUIClassID()
getUIClassID在 
            JComponent 
           JComponent.getUIClassID() , 
            UIDefaults.getUI(javax.swing.JComponent) 
           protected void addImpl(Component child, Object constraints, int index)
JViewport的一个轻量级的孩子,可以是null 。 
           (由于只有一个孩子占据整个视口, constraints和index参数将被忽略。) 
          addImpl在 
            Container 
           child - 视口的轻量级 
            child 
           constraints -在 
            constraints被尊重 
           index - 指数 
           setView(java.awt.Component) 
           public void remove(Component child)
Viewport的一个轻量级的孩子。 
          remove在 
            Container类 
           child - 要删除的组件 
           setView(java.awt.Component) 
           public void addNotify()
JComponent 
          KeyboardAction事件侦听器。 
           该方法在内部被工具包调用,不应该被程序直接调用。 
          public void scrollRectToVisible(Rectangle contentRect)
Rectangle内的Rectangle变得可见。 
            如果视图当前无效, isValid尝试在滚动之前验证视图 - isValid返回false。 为避免在创建包含层次结构时进行过度验证,如果其中一个祖先没有对等体,或者没有验证的根祖先,或者其中一个祖先不是Window或Applet ,则不会验证。 
 请注意,此方法不会滚动到有效的视口之外; 例如,如果contentRect大于视口,则滚动将仅限于视口的边界。 
scrollRectToVisible在 
            JComponent 
           contentRect - 要显示的 
            Rectangle 
           JComponent.isValidateRoot() , 
            Component.isValid() , 
            Component.getPeer() 
           public final void setBorder(Border border)
null边框或非零插值,以防止此组件的几何变得足够复杂以阻止子类化。 
           要创建具有边框的JViewport ,请将其添加到具有边框的JPanel 。 
            注意:如果border是非null ,该方法将抛出一个异常上不支持边框上JViewPort 。 
setBorder在 
            JComponent 
           border - 要设置的 
            Border 
           IllegalArgumentException - 此方法未实现 
           Border , CompoundBorder 
           public final Insets getInsets()
JViewport作为(0,0,0,0) 
           JViewport 。 
          getInsets在 
            JComponent 
           Rectangle的Rectangle 
           setBorder(javax.swing.border.Border) 
           public final Insets getInsets(Insets insets)
Insets对象,其中包含这个JViewport的插入值。 
           传入的Insets对象将被重新初始化,并且该对象内的所有现有值都将被覆盖。 
          getInsets在 
            JComponent 
           insets - 可重复使用的 
            Insets对象 
           getInsets() 
           public boolean isOptimizedDrawingEnabled()
JViewport覆盖此方法的默认实现( JComponent )返回false。 
           这确保了绘图机器将调用Viewport的paint实现,而不是直接JViewport的孩子。 
          isOptimizedDrawingEnabled在 
            JComponent 
           protected boolean isPaintingOrigin()
BACKINGSTORE_SCROLL_MODE ,使绘画来源于JViewport或其祖先之一,则返回true。 
           否则返回false 。 
          isPaintingOrigin在 
            JComponent类 
           BACKINGSTORE_SCROLL_MODE 。 
           JComponent.isPaintingOrigin() 
           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.)
public void reshape(int x,
                    int y,
                    int w,
                    int h) 
          StateChanged一个StateChanged事件。 
          reshape在 
            JComponent 
           x - 原始的左边缘 
           y - 起源的上边缘 
           w - 以像素为单位的宽度 
           h - 像素高 
           JComponent.reshape(int, int, int, int) 
           public void setScrollMode(int mode)
mode - 以下值之一: 
            BLIT_SCROLL_MODE , 
            BACKINGSTORE_SCROLL_MODE , 
            SIMPLE_SCROLL_MODE 
           public int getScrollMode()
scrollMode属性 
           setScrollMode(int) 
           @Deprecated public boolean isBackingStoreEnabled()
getScrollMode()取代。 
          true 。 
          true如果 
            scrollMode是 
            BACKINGSTORE_SCROLL_MODE 
           @Deprecated public void setBackingStoreEnabled(boolean enabled)
setScrollMode() 。 
          viewPosition 。 
           而不是重绘整个视口,我们使用Graphics.copyArea来实现一些滚动。 
          enabled - 如果是真的,请维护一个非屏幕后备店 
           public Component getView()
JViewport的一个孩子或 
           null 。 
          null 
           setView(java.awt.Component) 
           public void setView(Component view)
JViewport的一个轻便孩子( 
           view ),可以是 
           null 。 
          view - 视口的新的轻量级的孩子 
           getView() 
           public Dimension getViewSize()
Dimension视图大小的 
            Dimension对象 
           public void setViewSize(Dimension newSize)
newSize - 一个 
            Dimension对象,指定视图的新大小 
           public Point getViewPosition()
Point对象给出左上角的坐标 
           public void setViewPosition(Point p)
p - 给出左上坐标的 
            Point对象 
           public Rectangle getViewRect()
getViewPosition且大小为getExtentSize 。 
           这是视图中可见部分,视图坐标。 
          Rectangle使用视图坐标给出视图的可见部分。 
           protected boolean computeBlit(int dx,
                              int dy,
                              Point blitFrom,
                              Point blitTo,
                              Dimension blitSize,
                              Rectangle blitPaint) 
          oldLoc在左上角和我们滚动到newLoc 。 
           修改参数以返回blit所需的值。 
          dx - 水平三角形 
           dy - 垂直三角洲 
           blitFrom - 
            Point我们是从 
            Point 
           blitTo - 
            Point我们是blitting 
           blitSize - 该地区的 
            Dimension 
           blitPaint - 区域blit 
           public Dimension getExtentSize()
Dimension对象 
           public Dimension toViewCoordinates(Dimension size)
size - 使用像素坐标的 
            Dimension对象 
           Dimension对象转换为查看坐标 
           public Point toViewCoordinates(Point p)
p - 一个使用像素坐标的 
            Point对象 
           Point对象转换为查看坐标 
           public void setExtentSize(Dimension newExtent)
newExtent - 一个 
            Dimension视图大小的 
            Dimension对象 
           protected JViewport.ViewListener createViewListener()
ViewListener 
           protected LayoutManager createLayoutManager()
null )。 
           返回LayoutManager安装在JViewport 。 
          LayoutManager 
           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) 
           public void removeChangeListener(ChangeListener l)
ChangeListener从列表中删除 
           ChangeListener 。 
          l - 要删除的 
            ChangeListener 
           addChangeListener(javax.swing.event.ChangeListener) 
           public ChangeListener[] getChangeListeners()
ChangeListener的数组。 
          ChangeListener或者如果没有添加侦听器,则为空数组 
           protected void fireStateChanged()
ChangeListeners 。 
          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) 
           protected String paramString()
JViewport的字符串表示JViewport 。 
           该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。 
           返回的字符串可能为空,但可能不是null 。 
          paramString在 
            JComponent 
           JViewport的字符串表示 
            JViewport 
           protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
windowBlit属性。 
           ( putClientProperty属性是最终的)。 
          firePropertyChange在 
            Component 
           propertyName - 包含属性名称的字符串 
           oldValue - 该物业的旧值 
           newValue - 物业的新价值 
           public AccessibleContext getAccessibleContext()
getAccessibleContext在接口 
            Accessible 
           getAccessibleContext在 
            Component类 
            Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.