java - 更改 jTableHeader 的字体和背景颜色
问题描述
我正在尝试更改 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);
我不明白为什么它只会改变背景。希望你能帮忙。
解决方案
table.getTableHeader().setBackground()
您可以使用and直接实现此目的,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);
}
}
输出:
推荐阅读
- python - macos _tkinter TclError: 找不到包 Tix
- python - ctypes.memmove 似乎挂起
- python - 我如何使用路径 Django 来定位和加载模板?Django 3.2
- r - “顺序错误(y):'orderVector1'中未实现的类型'list'”在绘制图形时
- laravel - 在 Laravel RouteServiceProvider 中返回 404
- python-3.x - 在 Matplotlib 的 FuncAnimation 方法中在动画期间传递参数
- command-line - Homebrew:安装卡在检查 Sudo 访问
- android - 如何检查具有不同路径的 URL 与 API 相同
- java - 将 JRE 与 launch4j 捆绑在一起
- java - 画布矩形位置