Ajuda com List

10 respostas
ramilani12

Pessoal estou com problemas com List colocarei o código para exempleficar melhor que quero :

Tenho uma classe PostoDAO tem o seguinte método selecionarPosto:

public List selecionaPosto (String nomePosto) {

List listaPosto = new ArrayList();//Aqui da erro dizendo que não posso converter um ArrayList para List ?, A classe List não é interface do ArrayList ?

PostoBean postoBean=null;

try{

Statement stmt = con.createStatement();

StringBuffer bQuery= new StringBuffer();

bQuery.append(SELECT * FROM Posto WHERE Nome LIKE );

bQuery.append( '%+nomePosto.trim()+"%’ “);

bQuery.append(” ORDER BY Nome");

ResultSet rs =stmt.executeQuery(bQuery.toString());

while(rs.next()) {

postoBean=new PostoBean();

postoBean.setCodigo(rs.getInt(ID_Posto));

postoBean.setNome(rs.getString(Nome));

postoBean.setBairro(rs.getString(Bairro));

postoBean.setNumeroRua(rs.getInt(Numero));

postoBean.setRua(rs.getString(Rua));

listaPosto.add(postoBean);//aqui dá outro erro dizendo que não posso add o objeto

}

stmt.close();

} catch (SQLException ex) {

System.err.println("Erro ao selecionar o Posto.\n "+ex.getMessage());

}

return listaPosto;
}

}

Tenho uma classe FramePosto que seria a tela

private void pesquisaPosto(KeyEvent ke){

try{

String nomePosto=(String) jPosto.getSelectedItem();

List listaPosto = postoDAO.selecionaPosto(nomePosto);

Iterator it = listaPosto.iterator();//Aqui dá um erro dizendo que iterator é um tipo indefinido de List ?

PostoBean postoBean = new PostoBean();

while (it.hasNext()) {

postoBean=(PostoBean)it.next();

jPosto.addItem(postoBean.getNome());

}

}catch(Exception ex){

System.err.println("Erro I/O.\n "+ex.getMessage());

}

}

Alguém tem idéia de como resolvo este problema pessoal ?
Desde já agradeço a atenção !

10 Respostas

kina

olhe seu import…
existe a classe List da java.awt.List
obs:
Coloque seu código dentro da tag [ code ] [ / code ]
falou

ramilani12

Pô me desculpe quanto a tag , não sabia , mas os imports tá certinho e erro persiste , estou usando o JAVA 1.5_03 , olhei na doc do JAVA 1.4.2_05 o

postoBean.iterator() ; é um método sim da List será que mudou no JAVA 1.5 ?

kina

tente declarar assim:

List<PostoBean> lista = new ArrayList();
ramilani12

Ops errei lá listaPosto.iterator(); , esse listaPosto ta recebendo objetos de uma classe , olhei na Doc a Interface List tem o método iterator e no erro diz que iterator é um tipo indefinido de List

e não estou conseguindo delclarar um List

List listaPosto = new ArrayList();//Aqui da erro dizendo que não posso converter um ArrayList para List ?, A classe List não é interface do ArrayList ?

kina

ramilani12:
Ops errei lá listaPosto.iterator(); , esse listaPosto ta recebendo objetos de uma classe , olhei na Doc a Interface List tem o método iterator e no erro diz que iterator é um tipo indefinido de List

e não estou conseguindo delclarar um List

List listaPosto = new ArrayList();//Aqui da erro dizendo que não posso converter um ArrayList para List ?, A classe List não é interface do ArrayList ?

Você pode postar os seus imports?

ramilani12

kina:
ramilani12:
Ops errei lá listaPosto.iterator(); , esse listaPosto ta recebendo objetos de uma classe , olhei na Doc a Interface List tem o método iterator e no erro diz que iterator é um tipo indefinido de List

e não estou conseguindo delclarar um List

List listaPosto = new ArrayList();//Aqui da erro dizendo que não posso converter um ArrayList para List ?, A classe List não é interface do ArrayList ?

Você pode postar os seus imports

Na classe PostoDAO :

import java.awt.List;

import java.sql.<em>;

import java.util.ArrayList;

Na classe FramePosto:

mport java.awt.</em>;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import javax.swing.<em>;

import java.sql.</em>;

import java.util.Iterator;

import java.awt.BorderLayout;

import java.awt.List;

Esta ai !

kina

Aqui está seu problema…
Você importou a classe errada…
a certa seria java.util.List.

Dentro do seu framePosto você tem que fazer o seguinte!

java.util.List listaPosto = postoDAO.selecionaPosto(nomePosto);

Pois você tem o import java.awt.*;

ramilani12

Putz cara valeu , meus imports estavam errado mesmo , pode me ajudar em outra coisa tipo tenho um JComboBox onde pessoa digita alguma coisa irá retornar do Banco de Dados , estou em dúvida em qual usar o ActionListener ou KeyListener queria fazer o controle qndo a pessoal apertar ENTER disparava o método ?

Mesmo assim brigadão pela ajuda !

kina:

import java.awt.List;

Aqui está seu problema…
Você importou a classe errada…
a certa seria java.util.List.

Dentro do seu framePosto você tem que fazer o seguinte!

java.util.List listaPosto = postoDAO.selecionaPosto(nomePosto);

Pois você tem o import java.awt.*;

kina

ramilani12:
Putz cara valeu , meus imports estavam errado mesmo , pode me ajudar em outra coisa tipo tenho um JComboBox onde pessoa digita alguma coisa irá retornar do Banco de Dados , estou em dúvida em qual usar o ActionListener ou KeyListener queria fazer o controle qndo a pessoal apertar ENTER disparava o método ?

Mesmo assim brigadão pela ajuda !


Use o KeyListener e faça uma verificação para ver se ele pressiona o enter.

falou

ramilani12

kina:
ramilani12:
Putz cara valeu , meus imports estavam errado mesmo , pode me ajudar em outra coisa tipo tenho um JComboBox onde pessoa digita alguma coisa irá retornar do Banco de Dados , estou em dúvida em qual usar o ActionListener ou KeyListener queria fazer o controle qndo a pessoal apertar ENTER disparava o método ?

Mesmo assim brigadão pela ajuda !


Use o KeyListener e faça uma verificação para ver se ele pressiona o enter.

falou

Interessante eu uso ActionListener o Enter funciona mas qndo eu clico no JComboBox ele duplica os dados no JCOmboBox tem algum método para habilitar falso no evento do click do mouse no JComboBox , eu usei removeAllItens() , não serviu /

Mesmo assim brigadão

Criado 24 de junho de 2005
Ultima resposta 24 de jun. de 2005
Respostas 10
Participantes 2