JavaTM 2 Platform
Standard Ed. 6

javax.swing
類別 CellRendererPane

java.lang.Object
  繼承者 java.awt.Component
      繼承者 java.awt.Container
          繼承者 javax.swing.CellRendererPane
所有已實作的介面:
ImageObserver, MenuContainer, Serializable, Accessible

public class CellRendererPane
extends Container
implements Accessible

此類別被插入在單元格渲染器與使用它們的元件之間。它只是為了阻礙 repaint() 和 invalidate() 方法而存在,在配置渲染器時,這些方法將順著階層樹向上傳播。此類別用於 JTable、JTree 和 JList 的實作中。例如,以下是繪製 JList 中每個行的程式碼中使用 CellRendererPane 的方式:

   cellRendererPane = new CellRendererPane();
   ...
   Component rendererComponent = renderer.getListCellRendererComponent();
   renderer.configureListCellRenderer(dataModel.getElementAt(row), row);
   cellRendererPane.paintComponent(g, rendererComponent, this, x, y, w, h);
 

渲染器元件必須覆寫 isShowing() 並無條件地返回 true,以便正常運行,因為 Swing paint 在 isShowing 返回 false 時不對元件做任何操作。

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


巢狀類別摘要
protected  class CellRendererPane.AccessibleCellRendererPane
          此類別實作 Panel 類別的可存取性支持。
 
從類別 java.awt.Container 繼承的巢狀類別/介面
Container.AccessibleAWTContainer
 
從類別 java.awt.Component 繼承的巢狀類別/介面
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
欄位摘要
protected  AccessibleContext accessibleContext
           
 
從類別 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
 
建構子摘要
CellRendererPane()
          建構一個 CellRendererPane 物件。
 
方法摘要
protected  void addImpl(Component x, Object constraints, int index)
          如果指定元件已經是此元件的子元件,則不必再操心去做任何事,堆疊(stack)空間順序對於單元格渲染器元件而言無關緊要(CellRendererPane 不管怎樣都不進行繪製)。
 AccessibleContext getAccessibleContext()
          獲取與此 CellRendererPane 相關的 AccessibleContext。
 void invalidate()
          覆寫此方法是為了避免配置單元格渲染器的子級時順著階層樹向上傳播 invalidate。
 void paint(Graphics g)
          不應調用。
 void paintComponent(Graphics g, Component c, Container p, int x, int y, int w, int h)
          調用 this.paintComponent(g, c, p, x, y, w, h, false)。
 void paintComponent(Graphics g, Component c, Container p, int x, int y, int w, int h, boolean shouldValidate)
          在圖形物件 g 上繪製一個單元格渲染器元件 c。
 void paintComponent(Graphics g, Component c, Container p, Rectangle r)
          使用矩形的 x、y、width 和 height 欄位的調用 this.paintComponent()。
 void update(Graphics g)
          不應調用。
 
從類別 java.awt.Container 繼承的方法
add, add, add, add, add, addContainerListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
從類別 java.awt.Component 繼承的方法
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

欄位詳細資訊

accessibleContext

protected AccessibleContext accessibleContext
建構子詳細資訊

CellRendererPane

public CellRendererPane()
建構一個 CellRendererPane 物件。

方法詳細資訊

invalidate

public void invalidate()
覆寫此方法是為了避免配置單元格渲染器的子級時順著階層樹向上傳播 invalidate。

覆寫:
類別 Container 中的 invalidate
另請參見:
Container.validate(), Container.layout(), LayoutManager, LayoutManager2.invalidateLayout(Container)

paint

public void paint(Graphics g)
不應調用。

覆寫:
類別 Container 中的 paint
參數:
g - 指定的 Graphics 視窗
另請參見:
Component.update(Graphics)

update

public void update(Graphics g)
不應調用。

覆寫:
類別 Container 中的 update
參數:
g - 指定的 Graphics 視窗
另請參見:
Component.update(Graphics)

addImpl

protected void addImpl(Component x,
                       Object constraints,
                       int index)
如果指定元件已經是此元件的子元件,則不必再操心去做任何事,堆疊(stack)空間順序對於單元格渲染器元件而言無關緊要(CellRendererPane 不管怎樣都不進行繪製)。

覆寫:
類別 Container 中的 addImpl
參數:
x - 要添加的元件
constraints - 表示此元件的佈局約束的物件
另請參見:
Container.add(Component), Container.add(Component, int), Container.add(Component, java.lang.Object), LayoutManager, LayoutManager2

paintComponent

public void paintComponent(Graphics g,
                           Component c,
                           Container p,
                           int x,
                           int y,
                           int w,
                           int h,
                           boolean shouldValidate)
在圖形物件 g 上繪製一個單元格渲染器元件 c。在繪製該元件之前,要對此方法進行 reparent 操作(如有必要),將其邊界設置為 w,h 並且將圖形物件(有效地)轉換成 x,y。如果該物件是一個 JComponent,則暫時關閉雙重緩衝。在繪製元件之後,將邊界重新設置為 -w, -h, 0, 0。因此,如果該元件是最後一個被繪製的渲染器元件,那麼它不會開始使用輸入。Container p 是我們實際要繪製的元件,通常它等於 this.getParent()。如果 shouldValidate 為 true,則元件 c 將在繪製之前被驗證。


paintComponent

public void paintComponent(Graphics g,
                           Component c,
                           Container p,
                           int x,
                           int y,
                           int w,
                           int h)
調用 this.paintComponent(g, c, p, x, y, w, h, false)。


paintComponent

public void paintComponent(Graphics g,
                           Component c,
                           Container p,
                           Rectangle r)
使用矩形的 x、y、width 和 height 欄位的調用 this.paintComponent()。


getAccessibleContext

public AccessibleContext getAccessibleContext()
獲取與此 CellRendererPane 相關的 AccessibleContext。對於 CellRendererPanes,AccessibleContext 採用 AccessibleCellRendererPane 的形式。如有必要,可創建一個新的 AccessibleCellRendererPane 實例。

指定者:
介面 Accessible 中的 getAccessibleContext
覆寫:
類別 Component 中的 getAccessibleContext
返回:
一個 AccessibleCellRendererPane,它可用作此 CellRendererPane 的 AccessibleContext

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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