我尝试了以下方法,
foo.getTableHeader().setLayout(new FlowLayout(FlowLayout.LEFT));
其中foo
是JTable
实例,但文本保持居中。为什么?
代码会影响表头本身的位置,而不是每个标题中的项。 你需要用左对齐你关心的类型来调用getTableHeader().setDefaultRenderer(xxx)
。
((DefaultTableCellRenderer)table.getTableHeader().getDefaultRenderer()).setHorizontalAlignment(JLabel.LEFT)
我发现为我工作的最简单的方法。当然,您可以使用另一个居中常数来JLabel.LEFT
。