Jtable swing获取行数据

时间:2014-03-14 13:46:40

标签: java swing jtable

从jTable获取行数据时遇到一些问题:

for (int i = 0; i < TB_Accounts.getRowCount(); i++) {
    username = TB_Accounts.getModel().getValueAt(i, i);
    password = TB_Accounts.getModel().getValueAt(i, 1);

    if (username == null || password == null) {
        continue;
    }

    System.out.println("userName : " + username);
    System.out.println("password : " + password);

    if (!username.toString().equalsIgnoreCase("") && !password.toString().equalsIgnoreCase((""))) {
        accouts.add(new Account(username.toString(), password.toString()));

        System.out.println("in :: userName : " + username);
        System.out.println("in :: password : " + password);
    }    
}

问题是总是从表中获取除最后一行之外的所有数据,我不知道wht。

1 个答案:

答案 0 :(得分:2)

乍一看循环没有错,但看起来像第二行可能是罪魁祸首:

...
username = TB_Accounts.getModel().getValueAt(i, i);
...

当你继续行并随后通过continue调用导致循环跳过时,可能返回null,如果用户名或密码为null则会发生。改为:

...
username = TB_Accounts.getModel().getValueAt(i,0);
...