我应该如何正确计算JTable列值中的值?

时间:2013-04-16 10:42:32

标签: java swing parsing jtable

我有一个JTable,我想添加列值。我正在尝试这段代码:

try{
    double t = 0.00;
    DecimalFormat df = new DecimalFormat("0.00");
    int rows = empTbl.getRowCount();
    for(int row =0; row<=rows; row++) 
    {
        String am = (String) empTbl.getValueAt(row, 7);
        double d = (double) df.parse(am);
        double ans = d+t;
        jLabel7.setText("Total Sale : "+ans);
    }
}
catch(ParseException ex){ }

为什么这段代码不起作用?

1 个答案:

答案 0 :(得分:3)

  • 尝试避免Java中的任何解析,有适当的数据类型

  • 直接向XxxTableModel或JTable添加Double / Long / Integer值(取决于未知代码,您的问题)

  • 将XxxTableModel中的getColumnClass更改为Double / Long / Integer

  • 添加TableModelListener并覆盖setValueAt(正确的公式),然后在JTables Cell中的值发生变化时允许公式

  • Double / Float hasn't decimal places (Idiotic thread, with interesting!!! downvoters)

  • 使用XxxTableCellRenderer将输出格式化为Swing GUI