我试图改变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);我不明白为什么它只会改变背景。希望你能帮上忙。
发布于 2019-03-12 13:24:59
您可以直接使用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);
}
}输出:

https://stackoverflow.com/questions/55118712
复制相似问题