как вы выравниваете текст по левому краю в JTableHeader?

Я пробовал следующее,

foo.getTableHeader().setLayout(new FlowLayout(FlowLayout.LEFT));

где foo — экземпляр JTable, но текст остается по центру. Почему?


person mre    schedule 14.12.2012    source источник
comment
setHorizontalAlignment(SwingConstants.LEFT);   -  person mKorbel    schedule 15.12.2012
comment
@mKorbel, на каком компоненте вы бы это установили?   -  person mre    schedule 16.12.2012


Ответы (2)


Ваш код влияет на расположение самого заголовка таблицы, а не элементов в каждом заголовке. Вам нужно вызвать getTableHeader().setDefaultRenderer(xxx) с чем-то, что выравнивает по левому краю интересующие вас типы.

person Mel Nicholson    schedule 15.12.2012
comment
я написал класс, реализующий интерфейс TableCellRenderer. - person mre; 15.12.2012

((DefaultTableCellRenderer)table.getTableHeader().getDefaultRenderer()).setHorizontalAlignment(JLabel.LEFT)

Самый простой способ, которым я нашел работу для меня. Конечно, вы можете использовать другую константу центрирования для JLabel.LEFT.

person Briatore    schedule 10.02.2020