Java JTable swing ID迭代器
我是SwingJava新手。我有一个JTable,它有3列(ID、state、age),我有一个表单,其中有2个JTextField和一个JButton,当我单击按钮时,一行将添加到我的JTable中,但我希望ID以1进行迭代,例如,当我第一次单击ID为0时,当我再次单击时,如果输入新数据,ID将变为1(0+1)。 有没有函数可以获取第0列最后一行的单元格值?如果JTable在第一次运行时为空,如何初始化Id? 这是我的源代码Java JTable swing ID迭代器,java,swing,jtable,Java,Swing,Jtable,我是SwingJava新手。我有一个JTable,它有3列(ID、state、age),我有一个表单,其中有2个JTextField和一个JButton,当我单击按钮时,一行将添加到我的JTable中,但我希望ID以1进行迭代,例如,当我第一次单击ID为0时,当我再次单击时,如果输入新数据,ID将变为1(0+1)。 有没有函数可以获取第0列最后一行的单元格值?如果JTable在第一次运行时为空,如何初始化Id? 这是我的源代码 String[] columnNames = { "ID", "st
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)
;表格模型在进行更改时会自动更新表格。我稍微修改了您的建议,效果良好,非常感谢