Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';无法从数据库中填充我的JComboBox_Java_Mysql_Swing_Nullpointerexception_Jcombobox - Fatal编程技术网

Java Can';无法从数据库中填充我的JComboBox

Java Can';无法从数据库中填充我的JComboBox,java,mysql,swing,nullpointerexception,jcombobox,Java,Mysql,Swing,Nullpointerexception,Jcombobox,我花了几个小时试图让我的JComboBox填充数据库中的列名,但并没有成功。首先,我加载了表中的三个列名以放入其中,然后将其拆分为一个列名,以查看它是否能正常工作 但我得到了一个NullPointerException 有人能给我一些指导,告诉我怎么做吗 谢谢 public BlankStock() { conman = new ConnectionManager(); con = conman.CreateConnection(); i

我花了几个小时试图让我的JComboBox填充数据库中的列名,但并没有成功。首先,我加载了表中的三个列名以放入其中,然后将其拆分为一个列名,以查看它是否能正常工作

但我得到了一个NullPointerException

有人能给我一些指导,告诉我怎么做吗

谢谢

    public BlankStock() {
        conman = new ConnectionManager();
        con = conman.CreateConnection();

        initComponents();

        BlankBox.setModel(fillBlankBox());
        BlankBox.removeAllItems();
        BlankBox.addItem("Please Select...");

        fillBlankBox();
    }

    public DefaultComboBoxModel fillBlankBox() {

        try {

            String qry = "SELECT MCOBlanks FROM `blanks` WHERE MCOBlanks = 'blanks' ";
            //Connection con = null;

            // con = getConnection();
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(qry);
            System.out.println(rs.getStatement().toString());

            ComboBoxModel cbm = new DefaultComboBoxModel();            

            DefaultComboBoxModel dcbm = new DefaultComboBoxModel();
            while (rs.next()) {
                Object data1 = BlankBox.getSelectedItem();
                cbm.addListDataListener(BlankNo);
            }
            dcbm.addElement(BlankBox);
            BlankBox.setModel(cbm);
            rs.close();
            stmt.close();
        } catch (SQLException e) {
            System.out.println(e);
        }
//        } finally {
//            try {con.close();} catch (SQLException e){;}
//        }
        return cbm;

哪一行正在抛出NPE?在哪一行获得异常?(在代码中用注释注释它,因为我们看不到您的Link枚举数),我建议您考虑一下代码中哪些可能是坏的做法:在最终{}块中总是关闭RESUTSET集、语句(如果需要的话,连接)。永远不要留下一个空的异常块,就像你在那里评论的那样。我强烈建议您不要从桌面客户端打开到数据库的连接(除非这是一个学术练习),而是使用应用程序服务器上的连接池,并让您的桌面应用程序与其通信。也要将表示代码与数据检索分离,因为您的代码将更干净、更可重用。不要在try-catch-finally块中创建Swing JComponent,请使用之前初始化的局部变量。。。,在最终执行块后,将model设置为JComboBox结果设置NPE被抛出到一个完全不同的类中,该类与JComboBox.java文件有关,然后返回到显示BlankBox.setModel(fillBlankBox())的行;