首页 > 解决方案 > JComboBox java.lang.Integer 在加载器“bootstrap”的模块 java.base 中/在加载器“app”的未命名模块中

问题描述

我试图在我的数据库中添加一个新条目,在我有一个 JComboBox 的表单中。

我收到此错误,我的第一个想法是我的 JComboBox 正在输入字符串,但我意识到我正在从getCod_category获取整数。几分钟前我改了包的名字,虽然我改成之前的样子,还是解决不了

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: class java.lang.Integer cannot be 
cast to class crud.M.Categoria (java.lang.Integer is in module java.base of loader 'bootstrap'; 
crud.M.Categoria is in unnamed module of loader 'app')

我填写清单

  try{
        ResultSet datos = libroDAO.obtenerListaCategoria();
        ResultSet datos2 = libroDAO.obtenerListaEditorial();
            while(datos.next())
            {
                lstCategoriaLibro.addItem(datos.getInt(1));
            }
            while(datos2.next())
            {
                lstEditorialLibro.addItem(datos2.getInt(1));
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, "ERROR");
}

这部分是当我向我的数据库添加一个新条目时。

feedback = libroDAO.adicionaLibro(Integer.valueOf(txtFieldsLibro[0].getText()), 
                                                    txtFieldsLibro[1].getText(),
                                                    Double.valueOf(txtFieldsLibro[2].getText()),
                                                    Integer.valueOf(txtFieldsLibro[3].getText()),
                                                    ((Categoria) lstCategoriaLibro.getSelectedItem()).getCod_categoria(),
                                                    ((Editorial) lstEditorialLibro.getSelectedItem()).getCod_editorial());
        informarUsuario(feedback);

一个

public String adicionaLibro(int isbn,String nombre, double precio, int stock, int cCategoria, int cEditorial) {
    LibroDAO libroDAO = new LibroDAO();
    Libro libro = new Libro(isbn, nombre,precio,stock,cCategoria,cEditorial);
        
        
    libroDAO.adiciona(libro);   
    String feedBack = "AGREGADO";

    return feedBack;
}

我的 crud.model.Categoria

package crud.model;

public class Categoria {

private Integer cod_categoria;
private String nombre;


public Categoria(Integer cod_categoria, String nombre) {
    this.cod_categoria = cod_categoria;
    this.nombre = nombre;
    
}

public String getNombre() {
    return nombre;
}

public Integer getCod_categoria() {
    return cod_categoria;
}

public void setNombre(String nombre) {
    this.nombre= nombre;
}

public void setCod_categoria(Integer cod_categoria) {
    this.cod_categoria= cod_categoria;
}

@Override
public String toString() {
    return String.format("Categoria ID:%d Nombre: %s ", cod_categoria, nombre);
}
}

标签: javaswingjcomboboxclasscastexception

解决方案


推荐阅读