2017-12-27 13 views
0

얘들 아, 내 질문에 대한 jtable 열 값입니다, 나는 문제에 붙어있다. jtable 열 값을 합하여 텍스트 필드에 넣고 싶습니다. jtable에 값을 삽입하고 행이 비어 있으면 나중에 계산하지 않습니다. 나는 그 문제가 무엇인지 이해할 수 없었다. 메소드를 생성하고 버튼 이벤트에서 호출합니다.자바에서 sum Jtable coumn 값

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)); 

}