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 使用JButton填充JTable仅在第一次使用时有效_Java_Swing_Jtable_Jbutton - Fatal编程技术网

Java 使用JButton填充JTable仅在第一次使用时有效

Java 使用JButton填充JTable仅在第一次使用时有效,java,swing,jtable,jbutton,Java,Swing,Jtable,Jbutton,我用jButton jbBuscarActionPerformed填充了jTable jtBusqueda。第一次按预期工作,但第二次更改值时不工作 我的按钮代码是: private void jbBuscarActionPerformed(java.awt.event.ActionEvent evt) { //get data from database clsDBBu

我用jButton jbBuscarActionPerformed填充了jTable jtBusqueda。第一次按预期工作,但第二次更改值时不工作

我的按钮代码是:

   private void jbBuscarActionPerformed(java.awt.event.ActionEvent evt)    {                                         
        //get data from database
        clsDBBusca dbengine2 = new clsDBBusca();
        try {
            data2 = dbengine2.getBusqueda();
        } catch (Exception ex) {
            Logger.getLogger(clsCodif2.class.getName()).log(Level.SEVERE, null, ex);
        }

        //create header for the table
        header2 = new Vector<String>();
        header2.add("Cve"); //Cve
        header2.add("Descripcion"); // Caracteristica Principal

        jtBusqueda.setModel(new javax.swing.table.DefaultTableModel
            (
                data2, header2
            )
        initComponents();

    } 

    public Vector getBusqueda()throws Exception
        {
            Vector<Vector<String>> resultadoVector = new Vector<Vector<String>>();

            Connection conn = dbConnection();
            PreparedStatement pre = conn.prepareStatement("SELECT Clave_Nueva, Descripcion_Especificaciones FROM famMat_Especificaciones WHERE Descripcion_Especificaciones like '%" + jtBuscaTexto.getText() + "%'");

            ResultSet rs = pre.executeQuery();

            while(rs.next())
            {
                Vector<String> resultado = new Vector<String>();
                resultado.add(rs.getString(1)); //Cve
                resultado.add(rs.getString(2)); //Descripcion de la busqueda
                resultadoVector.add(resultado);
            }

            /*Close the connection after use (MUST)*/
            if(conn!=null)
            conn.close();

            return resultadoVector;

     }
尝试添加

jtBusqueda.repaint();

注意:您没有按照预期的方式使用准备好的语句。读一下。从安全的角度来看,您所做的是潜在的危险的,这就是为什么我要提到它:是您的init组件;调用Netbeans为您生成的自动生成方法?如果是这样,它就不是在做你认为它在做的事情。如果不是,那是干什么的?糟糕的代码风格。如果你在英语网站上请求帮助,你也应该写英语代码。