模块 java.desktop

类 DefaultTableCellRenderer

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

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

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

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

参见: