0

さまざまなメソッドの列を1つのテーブルに追加または挿入したい..明確に説明することはできませんが、理解できるようにコードを示します..たとえば.

(....)

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



}

行内の値は、テーブルに追加したい値です。ID の付け方がわかりません。次のようにしたいです。

最初にJavaを実行すると、自動的にテーブルが作成されます

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

ボタンとテキストフィールドがあり、テキストフィールドに数字を入力します

[PAY BUTTON] TextField:[ _ _100]

ボタンをクリックすると、次のようになります。

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

4

1 に答える 1

0

まず、使用しているデータ Vector は methodOne 内で定義されているため、methodTwo 経由で同じデータにアクセスすることはできません。

第二に、テーブルが更新されるテーブルモデルのデータに追加されているデータがあるためではありません。GUI で更新イベントをトリガーするメソッドの 1 つを呼び出す必要があります。通常、追加した後にテーブルモデルでメソッド fireTableChanged を呼び出します。データ。

Thridly: これらの多くを自動的に処理する GlazedLists という興味深いライブラリがあります。

于 2013-09-29T21:19:31.880 に答える