sip*_*amm 2 java swing netbeans
我尝试更改jtable中的标题字体大小Netbeans。但还不能。无论如何,表行字体大小已成功更改。
这是我使用的方法:

更改后的输出:

问题:标题字体大小未更改。但我也想改变这一点。所以请帮助我该怎么做。
一种方法是使用UIManager并将默认值替换Font为您想要的值
Font font = UIManager.getFont("TableHeader.font");
font = font.deriveFont(48f);
UIManager.put("TableHeader.font", font);
Run Code Online (Sandbox Code Playgroud)
这将替换系统中所有表格使用的字体
另一种方法是为您想要更改的列提供自定义TableCellRenderer,这需要更多工作,但提供了更大的灵活性,因为您可以决定要在哪里应用它们。您可以将其包装在您自己的自定义中JTableHeader,但我只是提供一些基本想法。
public class HeaderRenderer implements UIResource, TableCellRenderer {
private TableCellRenderer original;
public HeaderRenderer(TableCellRenderer original) {
this.original = original;
}
@Override
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
Component comp = original.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
comp.setFont(comp.getFont().deriveFont(Font.BOLD));
return comp;
}
}
Run Code Online (Sandbox Code Playgroud)
这是使用类似的东西安装的...
HeaderRenderer header = new HeaderRenderer(table.getTableHeader().getDefaultRenderer());
TableColumnModel columnModel = table.getColumnModel();
columnModel.getColumn(0).setHeaderRenderer(header);
Run Code Online (Sandbox Code Playgroud)
并产生类似...
总而言之,您将不得不亲自动手编写一些代码,表单编辑器不会为您做所有事情