Изменение шрифта и цвета фона jTableHeader - PullRequest
0 голосов
/ 12 марта 2019

Я пытаюсь изменить цвет фона и размер шрифта jTableHeader, но он только меняет цвет фона. Вот код:

DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
    centerRenderer.setBackground(new Color(239,198,46));
    centerRenderer.setHorizontalAlignment(JLabel.CENTER);
    centerRenderer.setFont(new Font("Times New Roman", Font.BOLD, 12));
    jTable1.getTableHeader().setDefaultRenderer(centerRenderer);

Я не понимаю, почему это только меняет фон. Надеюсь, что вы можете помочь.

1 Ответ

2 голосов
/ 12 марта 2019

Вы можете достичь этого, используя table.getTableHeader().setBackground() и table.getTableHeader().setFont() напрямую, вместо того, чтобы пытаться изменить средство визуализации заголовка. Попробуйте этот пример:

import javax.swing.*;
import java.awt.*;

public class TableHeaderFont
{
  public static void main(String[] args)
  {
    JTable table = new JTable(new String[][] {{"11", "22"}, {"33", "44"}}, new String[] {"ABC", "DEF"});
    table.getTableHeader().setBackground(new Color(239,198,46));
    table.getTableHeader().setFont(new Font("Times New Roman", Font.BOLD, 12));

    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(new JScrollPane(table));
    frame.pack();
    frame.setVisible(true);
  }
}

Выход:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...