有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何显示每行的编号

您好,我想显示我尝试使用for循环的表中每一行的索引号,但没有成功。您能告诉我怎么做吗? 我需要一个逻辑来返回“case 0:return getRowCount();”行中每一行的编号它只返回行的总数

public class TableModel extends AbstractTableModel{

UsersDao ud = new usersDao();
private List<Users> users;

public TableModel() throws Exception {
    this.users = (ArrayList<Users>)ud.getUsersList();
}   

private DateFormat df = new SimpleDateFormat("dd-MM-yyyy");

@Override
public int getRowCount() {
    return users.size();
}

@Override
public int getColumnCount() {
    return 10;
}

@Override
public Object getValueAt(int rowIndex, int columnIndex) {
    Users u = users.get(rowIndex);
    switch(columnIndex){
        case 0: return getRowCount();
        case 1: return u.getName();
        case 2: return u.getAge();
        case 3: return u.getGender();
        default: return "";     
    }
}

public String getColumnName(int column){
    switch(column){
        case 0: return "NO";
        case 1: return "NAME";
        case 2: return "AGE";
        case 3: return "GENDER";
        default: return "";
    }
}

public void addUser(Users u){
    users.add(u);
    fireTableRowsInserted(users.size()-1, users.size()-1);
}

public void deletePatient(Users u){
    users.remove(p);
    fireTableRowsInserted(users.size()-1, users.size()-1);
}  

}


共 (1) 个答案

  1. # 1 楼答案

    我觉得你的getValueAt有问题

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        Users u = users.get(rowIndex);
        switch(columnIndex){
            case 0: return rowIndex; // return rowIndex rather than the total number of rows
            case 1: return u.getName();
            case 2: return u.getAge();
            case 3: return u.getGender();
            default: return "";     
        }
    }