0

我想将不同方法的列添加或插入到一个表中..无法清楚地解释它,但我向您展示我的代码以供您理解..例如。

(....)

DefaultTableModel dtm = new DefaultTableModel();
JTable table = new JTable();


Constructor(){

     table.setModel(dtm);

     (.....)

}


public void methodOne(){

        String id = num.getText();

        rs = stat.executeQuery("SELECT * FROM payments;");

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

        header.add("PAYMENT"); 
        header.add("AMOUNT");
        header.add("MODIFIER");
        header.add("DATE MODIFIED");

        Vector<Vector<Object>> data = new  Vector<Vector<Object>>();

        while(rs.next()) {

            Vector<Object> row = new Vector<Object>();

            row.add(rs.getString("description"));
            row.add(rs.getString("amount")); 
            row.add(rs.getString("remarks")); 
            row.add(rs.getString("date"));

            data.add(row);

        } // loop

        dtm.setDataVector(data , header);
        JScrollPane scrollPane = new JScrollPane(table);

        scrollPane.setBounds(0,0,490,250);
        panel.add(scrollPane);
        validate();

}

public void methodTwo(){

     (.....)

     rs = stat.executeQuery("SELECT * FROM record where idNum ='"+id+"';");

        while(rs.next()){

            Vector<Object> row = new Vector<Object>();

            row.add(rs.getString("description"));
            row.add(rs.getString("amount")); 
            row.add(rs.getString("remarks")); 
            row.add(rs.getString("date"));

            data.add(row);

        } // while



}

行内的那些值是我想在我的表上添加的值,我不知道如何识别 .. 我希望它是这样的:

首先,当您运行 java 时,它将自动创建一个表

http://i1023.photobucket.com/albums/af355/guiacustodio/javaaaaaaaaaaaaaaaaaaaaaaaa_zpse9a22225.jpg

我有一个按钮和文本字段我在文本字段上输入数字即

[支付按钮] 文本字段:[ _ _100]

我点击了按钮,这就是将会发生的事情:

http://i1023.photobucket.com/albums/af355/guiacustodio/javaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_zps43879eab.jpg

4

1 回答 1

0

首先,您使用的数据向量是在 methodOne 中定义的,因此无法通过 methodTwo 访问相同的数据。

其次,不是因为有数据被添加到表模型中的数据中,表才会刷新,你必须调用在gui中触发刷新事件的方法之一,通常在你添加后调用表模型上的方法fireTableChanged数据。

第三:有一个有趣的库叫做 GlazedLists 可以自动处理很多这些事情!

于 2013-09-29T21:19:31.880 回答