Como faço para alterar o alinhamento (LEFT,CENTER,RIGHT) dos titulos das colunas (ColumnHeader) do JTable?
JTable
D
3 Respostas
U
Como faço para alterar o alinhamento (LEFT,CENTER,RIGHT) dos titulos das colunas (ColumnHeader) do JTable?
Deve existir um jeito mais facil, mas eu faço assim:
// imports requeridos
import java.awt.Component;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.UIManager;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableCellRenderer;
TableCellRenderer AlignmentTableHeader = new DefaultTableCellRenderer() {
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
if (table != null) {
JTableHeader header = table.getTableHeader();
if (header != null) {
setForeground(header.getForeground());
setBackground(header.getBackground());
setFont(header.getFont());
}
}
setText((value == null) ? "" : value.toString());
setBorder(UIManager.getBorder("TableHeader.cellBorder"));
setHorizontalAlignment(JLabel.LEFT);
setHorizontalTextPosition(JLabel.LEFT);
return this;
}
};
int coluna = 1;
minhaTabela.getTableHeader().getColumnModel().getColumn(coluna).setHeaderRenderer(AlignmentTableHeader);
No metodo setHorizontalAlignment() você escolhe a orientação que você quer.
Boa Sorte
D
Valeu.
F
Eu fiz assim e deu certo:
DefaultTableCellRenderer vHeaderRenderer = (DefaultTableCellRenderer)table.getTableHeader().getDefaultRenderer();
vHeaderRenderer.setHorizontalAlignment(SwingUtilities.CENTER);
table.setHeaderRenderer(vHeaderRenderer, indiceDaColuna);
Criado 19 de agosto de 2006
Ultima resposta 29 de jul. de 2010
Respostas 3
Participantes 3