2017-12-27 49 views
0

みんな、私の質問はjtableの列の値についてですが、私は問題に固執しています。私はjtableの列の値を合計し、それをテキストフィールドに入れたいと思います。私はjtableに値を挿入しています。行が空の場合は、後で合計を計算していません。私は何が問題なのか理解できませんでした。メソッドを作成し、ボタンイベントで呼び出す。Javaの合計Jtableのクーミング値

public void getSum(){ 

    int total=0; 
    for(int i=0; i<JV_tbl.getRowCount(); i++){ 
     int amount = Integer.parseInt((String) JV_tbl.getValueAt(i, 6)); 

     total+=amount; 
    } 
    JV_totalDebit_box.setText(String.valueOf(total)); 

} 

ボタンイベントコード。

+0

[MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)を投稿してください。 –

+0

コンソールにあるエラースタックトレースを見てください。解析する文字列が有効な整数を表していない場合、Integer.parseInt()のjavadocは何を示していますか?また、整数を含むと思われる場合は、なぜこの列に文字列を格納しますか? –

+0

スタックトレースにエラーが表示されません。 –

答えて

0

getSum()関数を次のように変更します。それはすべての空白の行を削除し、その後合計を続けます。

public void getSum(){ 
    int rowcount1 = JV_tbl.getRowCount(); 
    DefaultTableModel tbm1 = (DefaultTableModel) JV_tbl.getModel(); 
    for(int i = rowcount1-1; i >=0; i--){ 
     if(JV_tbl.getValueAt(i, 6) == null){ 
      tbm1.removeRow(i); 
     }  
    } 

    int total=0; 
    for(int i=0; i<JV_tbl.getRowCount(); i++){ 
     int amount = Integer.parseInt(JV_tbl.getValueAt(i, 6).toString()); 

     total+=amount; 
    } 
    JV_totalDebit_box.setText(String.valueOf(total)); 

}