插入后刷新JTable

时间:2014-07-16 08:08:58

标签: java swing insert jtable refresh

管理足球运动员和俱乐部的应用程序的编程 我真的在很小的部分停了下来,经过许多想法的尝试,我无法找到任何解决方案。

简单地说:我有一个JTable,我希望在任何任务(插入,更新或删除)之后刷新它。

代码

    //for fill the JTable
    // class controllApp

        class controllApp(){

        public DefaultTableModel getCleubData() {
                Vector<Vector<String>> data = new Vector<Vector<String>>();
                Vector<String> colum = new Vector<String>();
                colum.add("id_c");
                colum.add("coach");
                colum.add("nom_cleub");
                colum.add("DATE_CREATION");
                colum.add("COULEUR_MAILLOT");
                colum.add("COUNTRY");

                String query = "select id_c,coach,nom_cleub,date_creation,couleur_maillot,country from CLEUB ORDER BY ID_C";

                try {
                    Connection conn = ReportDriver.connectDB(DB_CONNECTION, DB_USER,
                            DB_PASSWORD);
                    stmt = conn.createStatement();
                    ResultSet rs = stmt.executeQuery(query);
                    while (rs.next()) {

                        Vector<String> vstring = new Vector<String>();

                        vstring.add(rs.getString("id_c"));
                        vstring.add(rs.getString("coach"));
                        vstring.add(rs.getString("nom_cleub"));
                        java.sql.Date date = rs.getDate("date_creation");
                        java.text.DateFormat df = java.text.DateFormat.getDateInstance();
                        vstring.add(df.format(date));
                        vstring.add(rs.getString("couleur_maillot"));
                        vstring.add(rs.getString("country"));
                        vstring.add("\n\n\n\n\n\n\n");

                        data.add(vstring);
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                } finally {
                    if (stmt != null) {
                        try {
                            stmt.close();
                        } catch (SQLException ex) {

                        }
                    }
                }
                DefaultTableModel d = new DefaultTableModel(data, colum);
                return d;
            }

        }




        //fill frame in other class (frame classe)
        // class frame() to call controllAPP.getJoueurdata()    



        class frame(){

        private static JTable table1;
        AbstractTableModel model;
                model = new controllApp().getJoueurData();
                table1 = new JTable(model);
                JScrollPane scrollPane = new JScrollPane(table1);
                scrollPane.setBounds(6, 29, 807, 297);
                panel.add(scrollPane);
    }

1 个答案:

答案 0 :(得分:0)

解决方案是获取Jtable的模型然后向其添加Vector数据,然后您必须将模型设置为现有的JTable。