JTable ヘッダーにカスタム レンダラーを設定しているときに、期待どおりの視覚的動作 (境界線、フォント、配置など) が得られますが、行が並べ替えられたときに通常表示される LaF 並べ替えアイコンを取得できません。
これは、カスタム ヘッダー レンダラーを設定するためのコードです。
Enumeration<TableColumn> columns = getColumnModel().getColumns();
while (columns.hasMoreElements())
columns.nextElement().setHeaderRenderer(new XDeliveryTableHeaderRenderer());
これは、カスタム ヘッダー レンダラーの抜粋です。
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;
}
}
ヒントはありますか?