JTable

1 resposta
L

Boas pessoal,

O meu resultSet seta os numeros na minha tabela na coluna 2, linha 5 . e como se trata de numeros eu queria que eles ficassem orientados para a direita e nao pela esuqerda que esta por default.

Algume me pode explicar como coloco os numero na tabela do lado direito da celula ?

Obrigado

1 Resposta

Rodrigo_Manhaes

O alinhamento pode ser setado criando-se uma subclasse de DefaultTableCellRenderer e sobrescrevendo o método getTableCellRendererComponent. Nesse método você obtém a linha e a coluna e pode setar o alinhamento com o método setHorizontalAlignment. Algo assim:

DefaultTableCellRenderer renderer = new DefaultTableCellRenderer()
{
    public Component getTableCellRendererComponent(JTable table, Object value, 
                boolean isSelected, boolean hasFocus, int row, int column)
    {
        this.setText(value.toString());
        if (...) // determine a sua lógica de alinhamento
            this.setHorizontalAlignment(SwingConstants.RIGHT);
        else
            this.setHorizontalAlignment(SwingConstants.LEFT);
        return this;
    }   
}

Daí você seta o renderer para a(s) coluna(s) onde quer que o alinhamento aconteça.

PS: seria legal pôr um título mais sugestivo, como “Alinhamento em JTable” ou algo assim.

Criado 21 de abril de 2006
Ultima resposta 21 de abr. de 2006
Respostas 1
Participantes 2