将 Jtable 中的值加在一起

Add the values in a Jtable together

如何在用户向 Table 中插入值时获取 Jtable 中特定列的总和?

您可以覆盖 TableModelsetValueAt(...) 方法。每当值发生变化时,您都将值存储在模型中,然后遍历模型中的所有行以重新计算总数。在循环时使用 getValueAt(...) 方法获取值。

或者,如果总值未显示在 table 中,但在某些其他 Swing 组件中,您可能希望使用 TableModelListener。每当数据发生变化时都会生成一个事件,因此您只需循环遍历 TableModel using thegetValueAt(...)` 方法中的所有行。

TableModelListener 的实现可能类似于:

TableModelListener tml = new TableModelListener()
{

    public void tableChanged(TableModelEvent e)
    {
        if (e.getType() == TableModelEvent.UPDATE)
        {
            int column = e.getColumn();

            if (column == ???)
            {
                TableModel model = (TableModel)e.getSource();
                double total = 0;

                for (int row = 0; row < model.getRowCount(); row++)
                {
                    double value = ((Double)model.getValueAt(row, ???2)).doubleValue();
                    total += value;
                }

                System.out.println( total );
            }
        }
    }
});

JTable table = new JTable(...);
table.getModel().addTableModelListener(tml);