2016-10-20 13 views
1

В настоящее время я пытаюсь обернуть и выровнять центральный текст заголовка столбца. Проблема заключается в том, что в то время как первая строка заголовка столбца выровнена, вторая не выравнивается должным образом.JTable Column Headers с обернутым и выровненным по центру текстом

Я использую DefaultTableCellRenderer, чтобы сделать ее как таковую:

public void centerAlign(JTable t, int numberOfColumns){ 
    centerRenderer.setHorizontalAlignment(SwingConstants.CENTER); 
    for (int i = 0; i < numberOfColumns; i++){ 
     t.getColumnModel().getColumn(i).setCellRenderer(centerRenderer); 
    } 
    headerRender = (DefaulttableCellRenderer) 
    t.getTableHeader().getDefaultRenderer(); 
    headerRenderer.setHorizontalAlignment(JLabel.CENTER); 
} 
+1

вы определяете 'headerRender', но затем назовите его «headerRenderer», когда вы установите выравнивание на последней строке. – Reddy

+1

Чтобы лучше помочь, отправьте сообщение [MCVE] или [Short, Self Contained, Correct Example] (http://www.sscce.org/). –

+0

Взгляните на [этот ответ] (http://stackoverflow.com/a/7494597/243373) от могучего TrashGod на вопрос «JTable Right Align Header». –

ответ

2

В вашей таблице модели использования класса HTML имени столбца

пример:

"<html><center>First column</html>" 
+0

Это именно то, что мне нужно. Большое спасибо! – KyleKW