Erro ao fazer cast para retornar ID

6 respostas
S

na minha combo esta retornando os nomes do funcionario... porem quando clico na combo preciso que o jlabel recebe o ID de cada nome que esta no banco.

vejam o código e o erro:

private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {                                           

       

      if(jComboBox1.getSelectedIndex() >=0){
        Funcionario funci = (Funcionario) jComboBox1.getSelectedItem();
       
           jTextField1.setText(String.valueOf(funci.getID()));}

java.lang.ClassCastException: java.lang.String cannot be cast to MODELO.Funcionario

6 Respostas

I

como vc ta montando o jComboBox??

assim:

jComboBox1.addItem(funcionario);

???

S

tenho meu metodo de consulta e aki eu monto a combo no jframe

public Registrar_Orcamento() {
        initComponents();
        IFachada fachada = new Fachada();
        try{
            Funcionario funcionario = new Funcionario();

    
               List<Funcionario> listfunc = fachada.ComboFuncionario(funcionario);
jComboBox1.removeAllItems();
               for(Funcionario listafunc:listfunc){

                   jComboBox1.addItem(listafunc.getNome());


               }}catch(Exception e){
               e.printStackTrace();
               JOptionPane.showMessageDialog(null,e.getMessage());
               }
I

Você ta adicionando um String… como quer ler uma classe Funcionario?

S

funcionario extende pessoa e que extend domainobject que possue um ID

public class Funcionario extends Pessoa implements Serializable {
    private Cargos Cargos;

    /**
     * @return the Cargos
     */

    public Funcionario(){}
    public Cargos getCargos() {
        return Cargos;
    }

    /**
     * @param Cargos the Cargos to set
     */
    public void setCargos(Cargos Cargos) {
        this.Cargos = Cargos;
    }
public String toString() {
    return getNome();
}
}




public class Pessoa extends DomainObject {

	private Integer CPF;

	private String Nome;

	private Integer Telefone;

        private Endereco Endereco;



public class DomainObject {

	private Integer ID;

    /**
     * @return the ID
     */
    public Integer getID() {
        return ID;
    }

    /**
     * @param ID the ID to set
     */
    public void setID(Integer ID) {
        this.ID = ID;
    }

}
I

muda de:

jComboBox1.addItem(listafunc.getNome());

para:

jComboBox1.addItem(listafunc);

deve resolver seu problema…

já q vc já fez o toString()…

S

caraca mano… funfou a pegada hehe
vlw msm era so isso!

Criado 31 de maio de 2010
Ultima resposta 31 de mai. de 2010
Respostas 6
Participantes 2