繁体   English   中英

JTable swing ID迭代器

[英]JTable swing ID iterator

我是Swing Java的新手。 我有一个JTable,它有3列(ID,状态,年龄),我有一个带有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);}

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

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

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

暂无
暂无

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

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