Module java.desktop

Class DefaultTableCellRenderer

所有已实现的接口:
ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants, TableCellRenderer
直接已知的子类:
DefaultTableCellRenderer.UIResource

public class DefaultTableCellRenderer extends JLabel implements TableCellRenderer, Serializable
用于在JTable中渲染(显示)单个单元格的标准类。

实现说明: 此类继承自JLabel,一个标准组件类。但是JTable使用一种独特的机制来渲染其单元格,因此需要对其单元格渲染器进行一些稍微修改的行为。表类定义了一个单元格渲染器,并将其用作在表中渲染所有单元格的橡皮图章;它渲染第一个单元格,更改该单元格渲染器的内容,将原点移动到新位置,重新绘制它,依此类推。标准的JLabel组件并不是设计用于这种方式的使用,我们希望避免每次绘制单元格时触发revalidate。这将大大降低性能,因为revalidate消息将被传递到容器的层次结构,以确定是否会影响任何其他组件。由于渲染器仅在绘制操作的生命周期内作为父级,因此我们同样希望避免与绘制操作相关的遍历层次结构的开销。因此,此类覆盖了validateinvalidaterevalidaterepaintfirePropertyChange方法,使其成为无操作,并仅覆盖isOpaque方法以提高性能。如果您编写自己的渲染器,请牢记这种性能考虑。

警告: 此类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4开始,已将所有JavaBeans的长期存储支持添加到java.beans包中。请参阅XMLEncoder

参见: