Problema com barra de rolagem Horizantal em uma JTable [RESOLVIDO]

Olá galera

Estou com o serguinte problema, eu tenho uma coluna NOME na JTable só que tem alguns nomes que ultrapassam o limite da coluna e fica “…” no final

Eu pesquisei e encontrei uma solução assim

[code]public JTable getTableComponente(){

	tableComponente = new JTable(new ComponenteDB().dadosComponentes(), this.getCabecalho());
	this.defineRenderersComponente();
	tableComponente.addMouseListener(this);
	tableComponente.setDoubleBuffered(false);
	tableComponente.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
	
	return tableComponente;
}

    public JScrollPane getJspComponente(){
	
	if(jspComponente == null){
		
		jspComponente = new JScrollPane();
		jspComponente.setBounds(10, 120, 300, 230);
		jspComponente.addMouseListener(this);
		jspComponente.setViewportView(this.getTableComponente());
		jspComponente.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
	}
	
	return jspComponente;
}

    private void defineRenderersComponente() {  
	 
     DefaultTableCellRenderer rendererCentro = new DefaultTableCellRenderer();  
     rendererCentro.setHorizontalAlignment(SwingConstants.CENTER);  
     DefaultTableCellRenderer rendererDireita = new DefaultTableCellRenderer();  
     rendererDireita.setHorizontalAlignment(SwingConstants.RIGHT);  
     DefaultTableCellRenderer rendererEsquerda = new DefaultTableCellRenderer();  
     rendererEsquerda.setHorizontalAlignment(SwingConstants.LEFT);  
   
     JTableHeader header = tableComponente.getTableHeader();  
     header.setPreferredSize(new Dimension(0, 25));   
     
     TableColumnModel modeloDaColuna = tableComponente.getColumnModel();  
       
     modeloDaColuna.getColumn(0).setCellRenderer(rendererEsquerda);  
     modeloDaColuna.getColumn(1).setCellRenderer(rendererEsquerda);   
   
     modeloDaColuna.getColumn(0).setMaxWidth(60);  
     modeloDaColuna.getColumn(1).setMaxWidth(700);  
 }[/code]

Certo eu adiciona a barra de rolagem ela funciona, SÓ que tem um porém

Com essa linha de comando

tableComponente.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

As coluna código e nome ficam bem pequenas, não ficam do tamanho do jScrolPane, então eu preciso arrastar a coluna pra ela aumentar ae sim aparece a barra de rolagem horizontal

Eu preciso do seguinte, eu definir um tamanho pra coluna nome, maior, que ultrapasse o tamanho do JScrolPane e quando a coluna ultrapassar o tamanho aparecer a barra de rolagem horizontal

Se alguém puder ajudar, ficarei grato ^^

Atenciosamente

Olá amigo

tenta isso:

           jTable.setModel(aModel);             
           jTable.setFillsViewportHeight(true);
           jTable.getTableHeader().setReorderingAllowed(false);
           jTable.getColumnModel().getColumn(0).setWidth(0);
           jTable.getColumnModel().getColumn(0).setPreferredWidth(0);
        
           jTable.getColumnModel().getColumn(1).setPreferredWidth(50);
           jTable.getColumnModel().getColumn(2).setPreferredWidth(300);      
           jTable.getColumnModel().getColumn(3).setPreferredWidth(100);

espero que ajude

Silvio Guedes

Olá Silvio

Deu certo sim ^^

Muito obrigado pela ajuda

Att