为了将相同的视觉装饰应用于所有渲染组件(如果这是您 真正
想要的,请小心,这可能会损害可用性!),您可以重写JTable的prepareRenderer方法:
@Overridepublic Component prepareRenderer(TableCellRenderer renderer, int row, int column) { Component comp = super.prepareRenderer(...); if (comp instanceof JLabel) { ((JLabel) comp).setHorizontalAlignment(...); } return comp;}顺便说一句:这种方法违反了 不
为应用程序需求将JSomething子类化的规则。您可能会考虑使用SwingX,它正式支持视觉装饰渲染组件。因此,您可以在表中注册一个荧光笔,而不是子类化:
JXTable table = ...table.addHighlighter(new AlignmentHighlighter(CENTER), HighlightPredicate.ALWAYS);



