繁体   English   中英

如何在JTable行中添加双精度类型值?

[英]How to add a double type value to a JTable row?

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt)     
{                                         
    try {

        Connection c = DBconnection.conn();
        PreparedStatement ps = c.prepareStatement("SELECT * from menu where items=?");
        ps.setString(1, (String) jComboBox2.getSelectedItem());
        ResultSet rs = ps.executeQuery();           
        DefaultTableModel tbn = (DefaultTableModel) jTable1.getModel();

        Vector v = new Vector<>();
        v.add(jComboBox2.getSelectedItem());
       v.add(qty.getText());

在这行之后,我需要添加类型为double的价格,我正在从数据库中获取价格。我需要知道该怎么做。请有人帮忙

        tbn.addRow(v);

我在这里计算总数。
双倍总数= 0;

        for(int i=0; i<jTable1.getRowCount(); i++)
        {
            double amount = Double.parseDouble(String.valueOf(jTable1.getValueAt(i, 2)));
            jTable1.getValueAt(i,1));
            total+=amount;
        }
        Ltot.setText(String.valueOf(total));
    } catch (Exception ex) {
        Logger.getLogger(pos.class.getName()).log(Level.SEVERE, null, ex);
    }


}                         *emphasized text*

自动装箱应该使您轻松添加双精度

v.add(price);

double是一个基本类型 ,您不能将它们添加到Vector ,但是Java具有与每个基本类型相对应的对象类型,因此,它可以将price立即转换为Double的实例,并将该实例添加到Vector

快速旁注:这意味着,由于创建了新对象,您将为堆空间付出一小笔代价,因此,如果您经常这样做,请多加注意。

另外:随着TableModel的发展, DefaultTableModel非常简洁。 但是创建原型非常容易。如果您有一些空闲时间,并且需要改进此代码,则建议您寻找TableModel实现,这些实现会以各种方式(例如让您可以从现有数据结构中提取值,而不是将其放入全新的Vector 例如,一个不错的下一步就是为此特定表编写自己的TableModel实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM