Как увеличить шрифт столбца заголовка в JTable Swing?

Я хотел бы знать, как увеличить размер шрифта столбца заголовка в JTable Swing?

Я использую Netbeans.

С наилучшими пожеланиями.

Даниэль


person Daniel Pereira    schedule 16.09.2011    source источник


Ответы (3)


Вам просто нужно вызвать метод getTableHeader(). Затем на объекте класса JTableHeader используйте метод setFont(/*font*/) для установки нового шрифта.

table.getTableHeader().setFont( new Font( "Arial" , Font.BOLD, 15 ));
person Damian Leszczyński - Vash    schedule 16.09.2011

Чтобы сохранить то же семейство шрифтов и просто изменить размер, который вы можете использовать:

JTableHeader header = table.getTableHeader();
header.setFont( header.getFont().deriveFont(16) );
person camickr    schedule 16.09.2011
comment
Здесь есть ошибка. Вам нужно будет передать 16f в качестве параметра, а не только 16. Метод производного шрифта (int) отличается от метода производного шрифта (плавающего типа). - person Michael; 02.04.2013

не уверен из вашего вопроса, то выкладываю оба варианта

1) установить шрифт для JTable myTable.setFont(new Font("Arial", Font.PLAIN, 10))

2) установить шрифт для TableHeader

    final TableCellRenderer tcrOs = table.getTableHeader().getDefaultRenderer();
    table.getTableHeader().setDefaultRenderer(new TableCellRenderer() {

        @Override
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
            JLabel lbl = (JLabel) tcrOs.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
            lbl.setBorder(BorderFactory.createCompoundBorder(lbl.getBorder(), BorderFactory.createEmptyBorder(0, 5, 0, 0)));
            lbl.setHorizontalAlignment(SwingConstants.LEFT);
            if (isSelected) {
                lbl.setForeground(Color.red);
                lbl.setFont(new Font("Arial", Font.BOLD, 12));
            } else {
                lbl.setForeground(Color.darkGray);
                lbl.setFont(new Font("Arial", Font.PLAIN, 10));
            }
            return lbl;
        }
    });
person mKorbel    schedule 16.09.2011