JTable 右对齐标题 [英] JTable Right Align Header
本文介绍了JTable 右对齐标题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
基本上,我有一个 JTable,其中包含带有右对齐单元格但左对齐标题的列,这看起来非常糟糕.我想在不改变标题的外观和感觉"的情况下右对齐这些列的标题.
Basically, I have a JTable containing columns with right-aligned cells but left-aligned headers which looks really bad. I would like to right-align the headers of these columns without altering the "Look and Feel" of the headers.
谢谢
推荐答案
这是修改表JTableHeader
.这种用法不是绝对必要的,但它最大限度地减少了对 UI 委托外观的影响.
Here's an alternate approach to modifying the TableCellRenderer
of a table's JTableHeader
. It's not strictly necessary for this usage, but it minimizes the impact on the UI delegate's appearance.
典型用法:
JTable table = new JTable(…);
JTableHeader header = table.getTableHeader();
header.setDefaultRenderer(new HeaderRenderer(table));
自定义标题渲染器:
private static class HeaderRenderer implements TableCellRenderer {
DefaultTableCellRenderer renderer;
public HeaderRenderer(JTable table) {
renderer = (DefaultTableCellRenderer)
table.getTableHeader().getDefaultRenderer();
renderer.setHorizontalAlignment(JLabel.CENTER);
}
@Override
public Component getTableCellRendererComponent(
JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int col) {
return renderer.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, col);
}
}
这篇关于JTable 右对齐标题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文