Retornar Select em JTable

1 resposta
lgustavo.sic

Bom dia, estou com uma certa dificuldade ao retornar a consulta de uma Query para dentro de uma JTable, gostaria de saber se alguem consegue me ajudar ...

tenho miclasse de FornecedorDao, onde executa a consulta certinho ... conforme abaixo :

public ArrayList<Fornecedor> selectFornecedor(){

			ArrayList<Fornecedor> arrayList = new ArrayList<Fornecedor>();
			Fornecedor fornecedor = new Fornecedor();
			try{
			this.stmt = getConnection().prepareStatement(FORNECEDOR_SELECT);
			ResultSet rs = stmt.executeQuery();
			while (rs.next()) {
				
				fornecedor.setEntNome(rs.getString(2));
				fornecedor.setEntDtCad(rs.getString(3));
				fornecedor.setLogradouro(rs.getString(4));
				fornecedor.setEndereco(rs.getString(5));
				fornecedor.setNumero(rs.getString(6));
				fornecedor.setBairro(rs.getString(7));
				fornecedor.setCidade(rs.getString(8));
				fornecedor.setUf(rs.getString(9));
				fornecedor.setCnpj(rs.getString(10));
				fornecedor.setIe(rs.getString(11));
				fornecedor.setTel(rs.getString(12));
				fornecedor.setTel2(rs.getString(13));
				fornecedor.setCel(rs.getString(14));
				fornecedor.setEmail(rs.getString(15));
				fornecedor.setContato(rs.getString(16));
				fornecedor.setTipo(rs.getString(17));
				fornecedor.setObservacao(rs.getString(18));
				arrayList.add(fornecedor);
				}

			}catch (SQLException e){
				e.printStackTrace();
			}
			return  arrayList;
		
		}
		
		public Vector<Fornecedor> listaFornecedores(ArrayList<Fornecedor> arrayList){
			
			Vector<Fornecedor> lista = new Vector<Fornecedor>();
			arrayList = selectFornecedor();
			lista.addAll(arrayList);
			return lista;
			
		}

Criei tambem um novo modelo pra minha tabela , JTable, conforme classe abaixo:

public class TblFornecedor {
	
	private JTable tblForn;
	private DefaultTableModel modelForn = new DefaultTableModel();
		
		public JTable createTable (){
			tblForn = new JTable(modelForn);
			modelForn.addColumn("NOME");
			modelForn.addColumn("LOGRADOURO");
			modelForn.addColumn("ENDEREÇO");
			modelForn.addColumn("NUMERO");
			modelForn.addColumn("BAIRRO");
			modelForn.addColumn("CIDADE");
			modelForn.addColumn("CEP");
			modelForn.addColumn("UF");
			modelForn.addColumn("CNPJ");
			modelForn.addColumn("I.E.");
			modelForn.addColumn("TEL");
			modelForn.addColumn("TEL[2]");
			modelForn.addColumn("CEL");
			modelForn.addColumn("EMAIL");
			modelForn.addColumn("CONTATO");
			modelForn.addColumn("TIPO");
			modelForn.addColumn("OBSERVAÇÃO");

			tblForn.getColumnModel().getColumn(0).setPreferredWidth(80);
			tblForn.getColumnModel().getColumn(1).setPreferredWidth(10);
			tblForn.getColumnModel().getColumn(2).setPreferredWidth(80);
			tblForn.getColumnModel().getColumn(3).setPreferredWidth(5);
			tblForn.getColumnModel().getColumn(4).setPreferredWidth(50);
			tblForn.getColumnModel().getColumn(5).setPreferredWidth(60);
			tblForn.getColumnModel().getColumn(6).setPreferredWidth(60);
			tblForn.getColumnModel().getColumn(7).setPreferredWidth(60);
			tblForn.getColumnModel().getColumn(8).setPreferredWidth(60);
			tblForn.getColumnModel().getColumn(9).setPreferredWidth(60);
			tblForn.getColumnModel().getColumn(10).setPreferredWidth(60);
			tblForn.getColumnModel().getColumn(11).setPreferredWidth(60);
			tblForn.getColumnModel().getColumn(12).setPreferredWidth(60);
			tblForn.getColumnModel().getColumn(13).setPreferredWidth(60);
			tblForn.getColumnModel().getColumn(14).setPreferredWidth(60);
			tblForn.getColumnModel().getColumn(15).setPreferredWidth(60);
			tblForn.getColumnModel().getColumn(16).setPreferredWidth(60);

				FornecedorDAO consultForn = new FornecedorDAO();
				modelForn.addRow(consultForn.listaFornecedores(consultForn.selectFornecedor()).toArray());
				tblForn.setBounds(100,100,400,400);
				tblForn.setVisible(true);
				return tblForn;
		
		}

}

e por fim chamo o select no click do botão

btnConsultar.addActionListener(new ActionListener() {
				
				@Override
				public void actionPerformed(ActionEvent e) {
					FornecedorDAO consult = new FornecedorDAO();
					consult.selectFornecedor();		
					
				}
			});

porem quando é executado ele traz o endereço de memoria do objeto ...

Alguem consegue me ajudar ?!

Bom dia
Att, Luiz Gustavo !!!

1 Resposta

Yago_Ernandes

Usando DefaultTableModel… O povo grila com isso. Tente criar seu proprio TableModel, vê se esses links te ajudam:

Explicações:
http://www.guj.com.br/java/199067-redimensionar-jtable---pra-variar--resolvido-/2#1001295

TableModel do Mark:

Criado 16 de agosto de 2012
Ultima resposta 16 de ago. de 2012
Respostas 1
Participantes 2