Java JTable更新行 [英] Java JTable update row

查看:75
本文介绍了Java JTable更新行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建一个像这样的JTable:

I am creating a JTable like this:

           String[] colName = new String[] {
               "ID#", "Country", "Name", "Page titel", "Page URL", "Time"
           };
           Object[][] products = new Object[][] {
               {
                   "123", "USA", "Bill", "Start", "http://www.url.com", "00:04:23"
               },

               {
                   "55", "USA", "Bill", "Start", "http://www.url.com", "00:04:23"
               }

           };

           dtm = new DefaultTableModel(products, colName);
           table = new JTable(dtm);

如何通过ID更新行?我想更新ID等于55的整行.

How could i update the row by ID? i want to update the whole row where the ID equals 55.

我知道如何按行ID进行检测,但实际上如何更新单元格?

I know how to detele by row ID but how do i actually update the cells?

  public void removeVisitorFromTable(String visitorID) {
    int row = -1; //index of row or -1 if not found

    //search for the row based on the ID in the first column
    for(int i=0;i<dtm.getRowCount();++i)
        if(dtm.getValueAt(i, 0).equals(visitorID)) {
            row = i;
            break;
        }

    if(row != -1) {
        dtm.removeRow(row);//remove row
    } else {

    }
}

推荐答案

您可以使用

示例:

private void updateRow(String visitorID, String[] data) {
    if (data.length > 5)
        throw new IllegalArgumentException("data[] is to long");
    for (int i = 0; i < dtm.getRowCount(); i++)
        if (dtm.getValueAt(i, 0).equals(visitorID))
            for (int j = 1; j < data.length+1; j++)
                dtm.setValueAt(data[j-1], i, j);
}

这篇关于Java JTable更新行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆