0

我是 Swing Java 的新手。我有一个包含 3 列(ID、状态、年龄)的 JTable,我有一个包含 2 个 JTextField 和一个 JButton 的表单,当我单击按钮时,会在我的 JTable 中添加一行,但我希望 ID 被迭代1,例如当我第一次点击时Id为0,当我再次点击输入新数据时,Id将变为1(0 + 1)。有什么函数可以获取第0列最后一行的单元格的值吗?如果第一次运行 JTable 为空,如何初始化 Id?这是我的源代码

String[] columnNames = { "ID", "state", "age" };

    int[] columnsWidth = { 188, 500, 100 };
    table = new JTable(
            new DefaultTableModel(new Object[][] {}, columnNames));
 JScrollPane scrollPane = new JScrollPane(table);
    table.setFillsViewportHeight(true);
    tableau.setLayout(new BorderLayout());
    tableau.add(scrollPane, BorderLayout.CENTER);

    logaffich.add(tableau);

按钮的代码

  boutonround.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
DefaultTableModel tm = (DefaultTableModel) table.getModel();

            String numcam = age.getText();
            // Int c=0;
            String desc = display.getSelectedItem().toString();

            tm.addRow(new Object[] { new String(c), new String(desc),
                    new String(numcam) });
            table.setModel(tm);}
4

1 回答 1

2

您可以获得比最后一行多一个的 ID,如果没有行,则为 0,只需执行以下操作:

int value = tm.getRowCount() == 0 ? 0 : 
    Integer.parseInt((String)tm.getValueAt(tm.getRowCount() - 1, 0)) + 1;

此外,没有必要这样做table.setModel(tm);进行更改时,表模型会自动更新表。

于 2013-11-06T16:35:27.657 回答