小编s3l*_*ico的帖子

JTable,自定义标题渲染器和排序图标

在JTable标头上设置自定义渲染器时,我得到了预期的可视行为(边框,字体,对齐方式......)但我无法获得通常在排序行时出现的LaF排序图标.

这是用于设置自定义标题渲染器的代码:

Enumeration<TableColumn> columns = getColumnModel().getColumns();
   while (columns.hasMoreElements())
   columns.nextElement().setHeaderRenderer(new XDeliveryTableHeaderRenderer());
Run Code Online (Sandbox Code Playgroud)

这是自定义标题渲染器的摘录:

public class MyTableHeaderRenderer extends JLabel implements TableCellRenderer {
     private static final Font labelFont = new Font("Arial", Font.BOLD, 11);

     @Override
     public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        setFont(labelFont);
        setHorizontalAlignment(SwingConstants.CENTER);
        setText(value.toString());
        setBorder(BorderFactory.createEtchedBorder());
        return this;
     }
}
Run Code Online (Sandbox Code Playgroud)

任何提示?

swing header jtable renderer

9
推荐指数
1
解决办法
6165
查看次数

标签 统计

header ×1

jtable ×1

renderer ×1

swing ×1