如何在JTable中更改字符串的字体大小?

8
String columnNames[] = {"Time","MAP","ICP","CPP"};
String dataValues[][]= new String [countery]

table = new JTable( dataValues, columnNames );

我正在处理一个表格并将字符串值存储在dataValues中。我想知道是否有任何方法可以增加字体大小,使其比默认大小更大(我假设默认大小是普通的11号字体)。这带来了我的另一个问题...甚至字体颜色呢?

3个回答

31
table.setFont(new Font("Serif", Font.BOLD, 20));

谢谢,现在我正在尝试增加表格单元格的大小(宽度)。因为现在字符对于单元格来说太大了。 - razshan
2
table.setRowHeight(table.getRowHeight()+gap); - razshan
@razshan :-) 如果硬编码了JTable的字体,那么你也必须对SetRowHeight进行相同的操作,或者从字体中获取高度。 - mKorbel

5

1
不需要创建自定义渲染器。 - camickr
3
我对mKorbels的回答进行了点赞。针对你的评论(我没有反对),是因为你提供了误导性的信息。我不希望发布者在创建自定义渲染器时浪费太多精力,因为简单的解决方案只需要一行代码。如果你提供了简单的答案,并解释了“对于更复杂的格式化需求,你需要创建一个自定义渲染器”,我会点赞,因为你首先提出了这个建议。我很高兴我很烦人。我厌倦了人们为了获取一些赞而发布误导或不正确的答案。 - camickr
同意,对于这个问题来说,没有必要使用客户端渲染器,但在字体大小和渲染问题之间,这个答案很有帮助。我的需求是一个自定义渲染器和这个 https://dev59.com/d4Hba4cB1Zd3GeqPVL7N 的结合(对于回复如此久远的帖子,我感到抱歉)。 - Gregory Alan Bolcer

2

一种选择是在GUI初始化之前设置UIManager提示,例如:

FontUIResource font = new FontUIResource("Verdana", Font.PLAIN, 24);
UIManager.put("Table.font", font);
UIManager.put("Table.foreground", Color.RED);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接