从jtable获取值来计算它

时间:2014-12-07 14:49:07

标签: java swing

我有一个项目,它是购物车。在结帐时我有一个jTable,我想要金额和价格和多个。我试图把它们放在变量中,但我失败了。

这是我的代码:

      private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
      // TODO add your handling code here:

      try{

        query="SELECT productName,size,amount,price FROM Checkout where cphone="+jTextField1.getText();
        rs=stm.executeQuery(query);
        int i=0;
        while(rs.next())
        {
         jTable1.setValueAt(rs.getString(1),i,0);
         jTable1.setValueAt(rs.getString(2),i,1);
         jTable1.setValueAt(rs.getString(3),i,2);
         jTable1.setValueAt(rs.getString(4),i,3);
                 i++;

        }
  }
  catch(Exception e){
  System.out.println(e);
  }
}           

1 个答案:

答案 0 :(得分:0)

在更新其中一列中的数据时,重写TableModel的setValueAt(...)方法以进行计算。

代码可能类似于:

@Override
public void setValueAt(Object value, int row, int column)
{
    super.setValueAt(value, row, column);

    if (column == 1 || column == 2)
    {
        TableModel model = (TableModel)e.getSource();
        int quantity = ((Integer)model.getValueAt(row, 1)).intValue();
        double price = ((Double)model.getValueAt(row, 2)).doubleValue();
        Double value = new Double(quantity * price);
        model.setValueAt(value, row, 3);
    }
}