JavaTM 2 Platform
Standard Ed. 6

javax.swing.table
類別 DefaultTableCellRenderer

java.lang.Object
  繼承者 java.awt.Component
      繼承者 java.awt.Container
          繼承者 javax.swing.JComponent
              繼承者 javax.swing.JLabel
                  繼承者 javax.swing.table.DefaultTableCellRenderer
所有已實作的介面:
ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants, TableCellRenderer
直接已知子類別:
DefaultTableCellRenderer.UIResource

public class DefaultTableCellRenderer
extends JLabel
implements TableCellRenderer, Serializable

呈現(顯示) JTable 中每個單元格的標準類別。

實作注意事項:此類別繼承自一個標準的元件類別 JLabel。但是 JTable 為其單元格的呈現使用了特殊的機制,因此要求稍微對其單元格渲染器的行為進行修改。該 table 類別定義一個單元格渲染器,並將其用作呈現表中所有單元格的橡皮圖章;它呈現第一個單元格、更改該單元格渲染器的內容、將原點移到新的位置、重新進行繪製,等等。標準的 JLabel 元件不是通過此方式使用的,每次繪製單元格時,我們都希望避免觸發 revalidate 事件。這會大大降低程序的性能,因為 revalidate 訊息會沿容器的層次結構向上傳遞,以確定任意其他元件是否將受到影響。由於該渲染器是繪製操作生命週期中唯一的父類別,類似地,我們也希望避免與為進行繪製操作而遍歷容器層次結構相關聯的開銷。所以此類別將 validateinvalidaterevalidaterepaintfirePropertyChange 方法覆寫為無操作,並單獨覆寫 isOpaque 方法以提高性能。如果您編寫自己的渲染器,請記住此性能方面的考慮。

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

另請參見:
JTable

巢狀類別摘要
static class DefaultTableCellRenderer.UIResource
          DefaultTableCellRenderer 的一個子類別,它實作 UIResource
 
從類別 javax.swing.JLabel 繼承的巢狀類別/介面
JLabel.AccessibleJLabel
 
從類別 javax.swing.JComponent 繼承的巢狀類別/介面
JComponent.AccessibleJComponent
 
從類別 java.awt.Container 繼承的巢狀類別/介面
Container.AccessibleAWTContainer
 
從類別 java.awt.Component 繼承的巢狀類別/介面
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
欄位摘要
protected static Border noFocusBorder
          一個空 Border
 
從類別 javax.swing.JLabel 繼承的欄位
labelFor
 
從類別 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
 
從介面 javax.swing.SwingConstants 繼承的欄位
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
從介面 java.awt.image.ImageObserver 繼承的欄位
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
建構子摘要
DefaultTableCellRenderer()
          創建一個預設的表單元格渲染器。
 
方法摘要
 void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
          因為性能原因而被覆寫。
protected  void firePropertyChange(String propertyName, Object oldValue, Object newValue)
          因為性能原因而被覆寫。
 Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
          返回預設的表單元格渲染器。
 void invalidate()
          因為性能原因而被覆寫。
 boolean isOpaque()
          因為性能原因而被覆寫。
 void repaint()
          因為性能原因而被覆寫。
 void repaint(long tm, int x, int y, int width, int height)
          因為性能原因而被覆寫。
 void repaint(Rectangle r)
          因為性能原因而被覆寫。
 void revalidate()
          因為性能原因而被覆寫。
 void setBackground(Color c)
          覆寫 JComponent.setBackground 將未選定單元格的背景色分派為指定顏色。
 void setForeground(Color c)
          覆寫 JComponent.setForeground 將未選定單元格的前景色分派為指定顏色。
protected  void setValue(Object value)
          將要呈現的單元格的 String 物件設置為 value
 void updateUI()
          取自 UIManager 的關於外觀 [L&F] 已更改的通知。
 void validate()
          因為性能原因而被覆寫。
 
從類別 javax.swing.JLabel 繼承的方法
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition
 
從類別 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, getInsets, getInsets, 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, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, 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, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, 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, 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, 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
 

欄位詳細資訊

noFocusBorder

protected static Border noFocusBorder
一個空 Border。可以不使用此欄位。要更改此渲染器所使用的 Border,請覆寫 getTableCellRendererComponent 方法並直接設置所返回元件的邊界。

建構子詳細資訊

DefaultTableCellRenderer

public DefaultTableCellRenderer()
創建一個預設的表單元格渲染器。

方法詳細資訊

setForeground

public void setForeground(Color c)
覆寫 JComponent.setForeground 將未選定單元格的前景色分派為指定顏色。

覆寫:
類別 JComponent 中的 setForeground
參數:
c - 將前景色設置為此值
另請參見:
Component.getForeground()

setBackground

public void setBackground(Color c)
覆寫 JComponent.setBackground 將未選定單元格的背景色分派為指定顏色。

覆寫:
類別 JComponent 中的 setBackground
參數:
c - 將背景色設置為此值
另請參見:
Component.getBackground(), JComponent.setOpaque(boolean)

updateUI

public void updateUI()
取自 UIManager 的關於外觀 [L&F] 已更改的通知。用取自 UIManager 的最新版本 UI 物件替換當前的 UI 物件。

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

getTableCellRendererComponent

public Component getTableCellRendererComponent(JTable table,
                                               Object value,
                                               boolean isSelected,
                                               boolean hasFocus,
                                               int row,
                                               int column)
返回預設的表單元格渲染器。

在列印操作期間,將調用此方法(isSelectedhasFocusfalse)阻止選擇和焦點在列印輸出中出現。要根據是否列印表進行其他定制,檢查 JComponent.isPaintingForPrint() 的返回值。

指定者:
介面 TableCellRenderer 中的 getTableCellRendererComponent
參數:
table - JTable
value - 分派給 [row, column] 處單元格的值
isSelected - 如果已選定單元格,則為 true
hasFocus - 如果單元格具有焦點,則為 true
row - 要呈現的單元格所在行
column - 要呈現的單元格所在列
返回:
預設的表單元格渲染器
另請參見:
JComponent.isPaintingForPrint()

isOpaque

public boolean isOpaque()
因為性能原因而被覆寫。有關更多資訊,請參見實作注意事項

覆寫:
類別 JComponent 中的 isOpaque
返回:
如果此元件是完全不透明的,則返回 true
另請參見:
JComponent.setOpaque(boolean)

invalidate

public void invalidate()
因為性能原因而被覆寫。有關更多資訊,請參見實作注意事項

覆寫:
類別 Container 中的 invalidate
從以下版本開始:
1.5
另請參見:
Container.validate(), Container.layout(), LayoutManager, LayoutManager2.invalidateLayout(Container)

validate

public void validate()
因為性能原因而被覆寫。有關更多資訊,請參見實作注意事項

覆寫:
類別 Container 中的 validate
另請參見:
Container.add(java.awt.Component), Component.invalidate(), JComponent.revalidate(), Container.validateTree()

revalidate

public void revalidate()
因為性能原因而被覆寫。有關更多資訊,請參見實作注意事項

覆寫:
類別 JComponent 中的 revalidate
另請參見:
Component.invalidate(), Container.validate(), JComponent.isValidateRoot(), RepaintManager.addInvalidComponent(javax.swing.JComponent)

repaint

public void repaint(long tm,
                    int x,
                    int y,
                    int width,
                    int height)
因為性能原因而被覆寫。有關更多資訊,請參見實作注意事項

覆寫:
類別 JComponent 中的 repaint
參數:
tm - 不使用此參數
x - 髒區的 x 值
y - 髒區的 y 值
width - 髒區的寬度
height - 髒區的高度
另請參見:
Component.isShowing(), RepaintManager.addDirtyRegion(javax.swing.JComponent, int, int, int, int)

repaint

public void repaint(Rectangle r)
因為性能原因而被覆寫。有關更多資訊,請參見實作注意事項

覆寫:
類別 JComponent 中的 repaint
參數:
r - 套件含髒區的 Rectangle
另請參見:
Component.isShowing(), RepaintManager.addDirtyRegion(javax.swing.JComponent, int, int, int, int)

repaint

public void repaint()
因為性能原因而被覆寫。有關更多資訊,請參見實作注意事項

覆寫:
類別 Component 中的 repaint
從以下版本開始:
1.5
另請參見:
Component.update(Graphics)

firePropertyChange

protected void firePropertyChange(String propertyName,
                                  Object oldValue,
                                  Object newValue)
因為性能原因而被覆寫。有關更多資訊,請參見實作注意事項

覆寫:
類別 Component 中的 firePropertyChange
參數:
propertyName - 其值已改變的屬性
oldValue - 該屬性以前的值
newValue - 該屬性的新值

firePropertyChange

public void firePropertyChange(String propertyName,
                               boolean oldValue,
                               boolean newValue)
因為性能原因而被覆寫。有關更多資訊,請參見實作注意事項

覆寫:
類別 JComponent 中的 firePropertyChange
參數:
propertyName - 其值已更改的屬性
oldValue - 該屬性以前的值
newValue - 該屬性的新值

setValue

protected void setValue(Object value)
將要呈現的單元格的 String 物件設置為 value

參數:
value - 此單元格的字元串值;如果 value 為 null,則將文本值設置為空字元串
另請參見:
JLabel.setText(java.lang.String)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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