JavaTM 2 Platform
Standard Ed. 6

javax.swing
類別 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. 下次繪製將在視口上調用,如果剪貼區域小於視口大小,將開始使用計時器重繪整個區域。
一般情況下,此方法相當快。與後備存儲方法相比,這避免了維護螢幕外緩衝區和必須執行兩個 copyArea 的開銷。與非後備存儲情況相比,此方法將大大減少繪製的區域。

當視口被另一視窗遮掩或者部分在螢幕外時,此方法比後備存儲方法更慢。當另一視窗遮掩該視口時,copyArea 將複製垃圾,並且系統將產生一個繪製事件,通知我們繪製新露出的區域。處理這一情況的惟一方法是重繪整個視口,這可能比後備存儲情形的速度要慢。在多數應用程序中,在視口被另一視窗遮掩或在螢幕外時,使用者很少滾動它,因此,在被遮掩時,通常值得使用這一優化來提高性能。

警告:Swing 不是執行緒安全的。有關更多資訊,請參閱 Swing's Threading Policy

警告:此類別的序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程序之間進行 RMI(Remote Method Invocation,遠端方法調用)。從 1.4 版本開始,已在 java.beans 套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder

另請參見:
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 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 之類別的元件。
static int SIMPLE_SCROLL_MODE
          此網要使用非常簡單的方法,在 scrollpane 每次滾動時重繪它的整個內容。
 
從類別 javax.swing.JComponent 繼承的欄位
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
從類別 java.awt.Component 繼承的欄位
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
從介面 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()
          返回 inset(邊框)維數 (0,0,0,0),因為在 JViewport 上不支持邊框。
 Insets getInsets(Insets insets)
          返回包含此 JViewport 的 inset 值的 inset 物件。
 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 平臺 1.3 版開始,由 getScrollMode() 取代。
 boolean isOptimizedDrawingEnabled()
          JViewport 覆寫此方法(在 JComponent 中返回 false)的預設實作。
 void paint(Graphics g)
          通過後備存儲繪製圖像,或者使用後備存儲“位圖傳送”剩餘圖像來僅繪製最新暴露的部分,這具體取決於是否啟用 backingStore
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 平臺 1.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, 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, transferFocusBackward, 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, 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, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

欄位詳細資訊

isViewSizeSet

protected boolean isViewSizeSet
在確定視口的維數後為 true。預設值為 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 上按下向下箭頭且所選單元格是列表中的最後一個單元格時,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 的預設網要。在某些情況下,此網要優於“位圖傳送網要”,但它需要大量的額外記憶體。

從以下版本開始:
1.3
另請參見:
setScrollMode(int), 常數欄位值

SIMPLE_SCROLL_MODE

public static final int SIMPLE_SCROLL_MODE
此網要使用非常簡單的方法,在 scrollpane 每次滾動時重繪它的整個內容。這是 Swing 1.0 和 Swing 1.1 中的預設行為。在多數情況下,其他兩個選項都將提供更好的性能。

從以下版本開始:
1.3
另請參見:
setScrollMode(int), 常數欄位值
建構子詳細資訊

JViewport

public JViewport()
創建一個 JViewport

方法詳細資訊

getUI

public ViewportUI getUI()
返回呈現此元件的 L&F 物件。

返回:
ViewportUI 物件
從以下版本開始:
1.3

setUI

public void setUI(ViewportUI ui)
設置呈現此元件的 L&F 物件。

參數:
ui - ViewportUI L&F 物件
從以下版本開始:
1.3
另請參見:
UIDefaults.getUI(javax.swing.JComponent)

updateUI

public void updateUI()
將 UI 屬性重置為當前外觀的值。

覆寫:
類別 JComponent 中的 updateUI
另請參見:
JComponent.updateUI()

getUIClassID

public String getUIClassID()
返回指定呈現此元件的 L&F 類別名稱的字元串。

覆寫:
類別 JComponent 中的 getUIClassID
返回:
字元串“ViewportUI”
另請參見:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

addImpl

protected void addImpl(Component child,
                       Object constraints,
                       int index)
設置 JViewport 的輕量子物件,可以為 null。(由於只存在一個佔用整個視口的子物件,因此忽略 constraintsindex 參數。)

覆寫:
類別 Container 中的 addImpl
參數:
child - 視口的輕量 child
constraints - 要考慮的 constraint
index - 索引
另請參見:
setView(java.awt.Component)

remove

public void remove(Component child)
移除 Viewport 的一個輕量子物件。

覆寫:
類別 Container 中的 remove
參數:
child - 要移除的元件
另請參見:
setView(java.awt.Component)

scrollRectToVisible

public void scrollRectToVisible(Rectangle contentRect)
滾動該視圖,使該視圖中的 Rectangle 變得可見。

如果視圖當前無效,則此操作將嘗試在滾動前驗證該視圖 - isValid 返回 false。為避免在創建包含層次結構時驗證時間過長,如果祖先之一沒有同位體,或者不存在有效的根祖先,或者祖先之一不是 WindowApplet,則不進行驗證。

注意,此方法不會滾動到有效視口之外;例如,如果 contentRect 大於視口,滾動操作將限制在視口的邊界之內。

覆寫:
類別 JComponent 中的 scrollRectToVisible
參數:
contentRect - 要顯示的 Rectangle
另請參見:
JComponent.isValidateRoot(), Component.isValid(), Component.getPeer()

setBorder

public final void setBorder(Border border)
視口通過常規父/子剪貼(一般該視圖向滾動的相反方向移動)“滾動”其子視口(稱為“視圖”)。不支持非 null 邊框或非零 inset,以防止此元件的幾何結構複雜得無法禁止創建子類別。要創建帶邊框的 JViewport,請將其添加到具有邊框的 JPanel

註:如果 border 為非 null,此方法將拋出一個異常,原因是在 JViewPort 上不支持邊框。

覆寫:
類別 JComponent 中的 setBorder
參數:
border - 要設置的 Border
拋出:
IllegalArgumentException - 未實作此方法
另請參見:
Border, CompoundBorder

getInsets

public final Insets getInsets()
返回 inset(邊框)維數 (0,0,0,0),因為在 JViewport 上不支持邊框。

覆寫:
類別 JComponent 中的 getInsets
返回:
零維數和零區域的 Rectange
另請參見:
setBorder(javax.swing.border.Border)

getInsets

public final Insets getInsets(Insets insets)
返回包含此 JViewport 的 inset 值的 inset 物件。重新初始化傳入的 inset 物件,此物件中所有現有值都將被覆寫。

覆寫:
類別 JComponent 中的 getInsets
參數:
insets - 可以重用的 inset 物件
返回:
此視口的 inset 值
另請參見:
getInsets()

isOptimizedDrawingEnabled

public boolean isOptimizedDrawingEnabled()
JViewport 覆寫此方法(在 JComponent 中返回 false)的預設實作。這確保了繪製機制將調用 Viewportpaint 實作,而不是直接通知 JViewport 的子物件。

覆寫:
類別 JComponent 中的 isOptimizedDrawingEnabled
返回:
false

paint

public void paint(Graphics g)
通過後備存儲繪製圖像,或者使用後備存儲“位圖傳送”剩餘圖像來僅繪製最新暴露的部分,這具體取決於是否啟用 backingStore
術語“位圖傳送”是 PDP-10 BLT (BLock Transfer) 指令的 pronounced 版,該指令複製位塊。(在您感到好奇時。)

覆寫:
類別 JComponent 中的 paint
參數:
g - 要在其中進行繪製的 Graphics 上下文
另請參見:
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)
設置此視口的邊界。如果視口的寬度或高度已更改,則觸發 StateChanged 事件。

覆寫:
類別 JComponent 中的 reshape
參數:
x - 原視口的左邊緣
y - 原視口的上邊緣
w - 以像素為單位的寬度
h - 以像素為單位的高度
另請參見:
JComponent.reshape(int, int, int, int)

setScrollMode

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 平臺 1.3 版開始,由 getScrollMode() 取代。

如果此視口維護其內容的一個螢幕外圖像,則返回 true

返回:
如果 scrollModeBACKINGSTORE_SCROLL_MODE,則返回 true

setBackingStoreEnabled

@Deprecated
public void setBackingStoreEnabled(boolean enabled)
已過時。 從 Java 2 平臺 1.3 版開始,由 setScrollMode() 取代。

如果此視口維護其內容的一個螢幕外圖像,則返回 true。此圖像用於減少對 viewPosition 的較小一維更改的成本。我們使用 Graphics.copyArea 實作某些滾動,而不是重繪整個視口。

參數:
enabled - 如果為 true,則維持一個螢幕外後備存儲

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)
計算 blit 的參數,其中後備存儲圖像當前在左上角包含 oldLoc,並且我們滾動到 newLoc。已修改該參數以返回 blit 所需的值。

參數:
dx - 水平 delta
dy - 垂直 delta
blitFrom - 我們從中傳送的 Point
blitTo - 我們傳送的 Point
blitSize - 要傳送的區域的 Dimension
blitPaint - 要傳送的區域
返回:
如果已修改參數並且我們已經準備好傳送,則返回 true;否則返回 false

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)。返回要在 JViewport 上安裝的 LayoutManager

返回:
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

另請參見:
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 僅執行一種繪製方法。

覆寫:
類別 JComponent 中的 repaint
參數:
tm - 更新前等待的最長時間(以毫秒為單位)
x - x 坐標(像素從左端向上)
y - y 坐標(像素從頂部向下)
w - 寬度
h - 高度
另請參見:
Component.update(java.awt.Graphics)

paramString

protected String paramString()
返回此 JViewport 的字元串表示形式。此方法僅在進行除錯的時候使用,對於各個實作,所返回字元串的內容和格式可能有所不同。返回的字元串可能為空,但不可能為 null

覆寫:
類別 JComponent 中的 paramString
返回:
JViewport 的字元串表示形式

firePropertyChange

protected void firePropertyChange(String propertyName,
                                  Object oldValue,
                                  Object newValue)
通知偵聽器發生的屬性更改。已創建其子類別以更新 windowBlit 屬性。(putClientProperty 屬性為最後屬性)。

覆寫:
類別 Component 中的 firePropertyChange
參數:
propertyName - 套件含屬性名的字元串
oldValue - 屬性的舊值
newValue - 屬性的新值

getAccessibleContext

public AccessibleContext getAccessibleContext()
獲取與此 JViewport 關聯的 AccessibleContext。對於視口來說,AccessibleContext 採用 AccessibleJViewport 的某種形式。必要時創建新的 AccessibleJViewport 實例。

指定者:
介面 Accessible 中的 getAccessibleContext
覆寫:
類別 JComponent 中的 getAccessibleContext
返回:
一個 AccessibleJViewport,它充當此 JViewport 的 AccessibleContext

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only