JTable

Boa tarde pessoal,

Tenho uma JTable que apresenta os dados de uma tabela do BD, está ocorrendo que os dados nas estão sendo apresentado visualmente, é como se a fonte do texto da JTable estivesse setada para Write, alguém já passou por isso e pode me ajudar?

Obrigado

[ ]'s

Vc pode postar o trechode código?

Vamos lá

Modelo:

public class TableModelProduto extends AbstractTableModel {
	
	private static final long serialVersionUID = 1L;
	private ArrayList<Produto> listProduto;
	
	public TableModelProduto(ArrayList<Produto> listProduto) {
		
		this.listProduto = listProduto;
		
	} // fim do construtor
	
	public int getColumnCount() {
		
		return 2;
	}

	public int getRowCount() {
	
		return listProduto.size();
	}

	public Object getValueAt(int rowIndex, int columnIndex) {
		
		Produto produto = listProduto.get(rowIndex);
		
		switch(columnIndex) {
		  case 0: produto.getCodigo();
		  case 1: produto.getDescricao();
		}
		
		return null;
		
	} // fim do método getValueAt

	public Produto getValues(int index) {
		
		return listProduto.get(index);
	}

}

Modelo das colunas:

[code]public class ColumnModelProduto extends DefaultTableColumnModel {

private static final long serialVersionUID = 1L;

public ColumnModelProduto(FontMetrics fm) {
	int letra = fm.stringWidth("M");
	addColumn(criaColumn(0,10 * letra, fm, true,"Código"));
	addColumn(criaColumn(0,100 * letra, fm, true,"Produto"));
}

private TableColumn criaColumn(int columnIndex, int largura, FontMetrics fm, boolean resizable, String title) {
	
	int larguraTitulo = fm.stringWidth(title + " ");
	if ( largura < larguraTitulo) {
		largura = larguraTitulo;
	}
	
	TableColumn column = new TableColumn(columnIndex);
	column.setCellRenderer( new CellRendererDefault());
	column.setHeaderRenderer(null);
	column.setHeaderValue(title);
	column.setPreferredWidth(largura);
	
	if(!resizable) {
		
		column.setMaxWidth(largura);
		column.setMinWidth(largura);
		
	}
	
	column.setResizable(resizable);
	
	return column;
}[/code]

Cria efeito zebrado:

public class CellRendererDefault extends DefaultTableCellRenderer {

	private static final long serialVersionUID = 1L;

	public CellRendererDefault() {
	        super();        
	    }
	    
	 	    
	    public Component getTableCellRendererComponent(javax.swing.JTable table,
	            Object value, boolean isSelected, boolean hasFocus, int row, int column){
	        
	        JLabel label = (JLabel)super.getTableCellRendererComponent(
	                table, value, isSelected, hasFocus, row, column);
	        
	        
	        if((row % 2) == 0){
	            label.setBackground(Color.WHITE);
	        }
	        else{
	            label.setBackground(new Color(225, 251, 234));

	        }
	        
	        return label;
	    }
	 [/code]

E aqui apresento ela:

[code]private void initTable() {

    	tableProduto.setAutoCreateColumnsFromModel(false);
    	tableProduto.setModel( new TableModelProduto(controllerProduto.getProduto()));
    	FontMetrics fm = tableProduto.getFontMetrics(tableProduto.getFont());
    	tableProduto.setColumnModel( new ColumnModelProduto(fm));
    	tableProduto.setSelectionModel( new DefaultListSelectionModel() {

    		private static final long serialVersionUID = 1L;

    		public String toString() {
    			return "tableProduto";
    		}
    	});

    	tableProduto.getSelectionModel().addListSelectionListener( new ListSelectionListener() {
    		public void valueChanged(ListSelectionEvent e) {

    			ListSelectionModel lsm =  (ListSelectionModel)e.getSource();
    			if (e.getValueIsAdjusting())             
    				return;

    			if (!(lsm.isSelectionEmpty())) {

    				if(e.getSource().toString().equals("tableProduto")){                

    					int l = tableProduto.getSelectedRow();
    					produto = ((TableModelProduto)tableProduto.getModel()).getValues(l);
    					setRegistros(produto);                
    				}
    			}
    		}

    	});
    	tableProduto.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);  

    	if(controllerProduto.getProduto().size() > 0){ 
    		produto = controllerProduto.getFromList(0);
    		setRegistros(produto);
    		// definirEstadoUI(ESTADO_CONSULTA);

    	} else {
    		limpaUI();
    		//definirEstadoUI(SEM_REGISTRO);
    	}
    } // fim do método initTable

[ ]'s