jtable行ヘッダーの追加

1276 ワード

表の最初の列をヘッダーとして、レンダラを使用して外観を変更します.ヘッダーのように見えます.

        table.getColumnModel().getColumn(0).setCellRenderer(new RowHeaderRenderer());  

実装行ヘッダー

class RowHeaderRenderer implements TableCellRenderer   
{   
    private JLabel label = new JLabel();   
    //        、       ,   Label           
    private static Font font = (Font) UIManager.get("TableHeader.font");   
    private static Color fgc = (Color) UIManager.get("TableHeader.foreground");   
    private static Color bgc = (Color) UIManager.get("TableHeader.background");   
    @Override  
    public Component getTableCellRendererComponent(JTable table, Object value,   
            boolean isSelected, boolean hasFocus, int row, int column) {   
        // TODO Auto-generated method stub   
        label.setFont(font);   
        label.setHorizontalAlignment(SwingConstants.CENTER);   
        label.setText(value.toString());   
        label.setOpaque(true);   
        label.setForeground(fgc);   
        label.setBackground(bgc);   
        return label;   
    }   
       
}