Ola companheiros, estou tentando selecionas o codigo de um dado especifico em um comboBox, para isso e outras coisas criei uma classe que mapeia, retorna o codigo selecionado, e posiciona um dado (qdo faço uma busca) até ai blz, o meu problema é q naum consigo chamar o metodo retornarCodigo() dentro desta classe que criei (MapCB)
Logo abaixo segue o fonte da classe
import java.util.ArrayList;
import java.util.Iterator;
import java.sql.*;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
public class MapCB {
private String sql;
private ArrayList dados;
public MapCB(Connection con, String sql, JComboBox combo, String ProgNome) {
try{
Statement stmt;
ResultSet rs;
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
dados = new ArrayList();
dados.add(new Elemento(0, " "));
while(rs.next()){
Elemento e = new Elemento(rs.getInt(1), rs.getString(2));
dados.add(e);
}
}
catch(SQLException e){
JOptionPane.showMessageDialog(null,
"Erro na conexão./n Erro: " + e.getMessage(), ProgNome,
JOptionPane.ERROR_MESSAGE);
}
carregarElementos(combo);
}
public void carregarElementos(JComboBox combo){
\ carrego os elementos
}
[b]// este é o metodo que estou tentando chamar[/b]
public int retornarCodigo(JComboBox combo){
String descricao = combo.getSelectedItem().toString();
Iterator i = dados.iterator();
while(i.hasNext()){
Elemento e = (Elemento) i.next();
if(e.getDescricao().equalsIgnoreCase(descricao))
return e.getCodigo();
}
return 0;
}
public void posicionarElemento(JComboBox combo, int codigo){
//aqui vou usar para posicionar o dado no combo, qudo fizer uma busca
}
//////////////////////////////////////////////////////////////////////////
class Elemento{
private int codigo;
private String descricao;
public Elemento(int codigo, String descricao){
this.codigo = codigo;
this.descricao = descricao;
}
public int getCodigo(){
return codigo;
}
public String getDescricao(){
return descricao;
}
}