Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何显示每行的编号_Java_Swing_Jtable_Rows - Fatal编程技术网

Java 如何显示每行的编号

Java 如何显示每行的编号,java,swing,jtable,rows,Java,Swing,Jtable,Rows,您好,我想显示我尝试使用for循环的表中每一行的索引号,但没有成功。您能告诉我如何做到这一点吗? 我需要一个逻辑来返回“case 0:return getRowCount();”行中每行的数量,它只返回行的总数 public class TableModel extends AbstractTableModel{ UsersDao ud = new usersDao(); private List<Users> users; public TableModel() throws

您好,我想显示我尝试使用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);
}  
公共类TableModel扩展了AbstractTableModel{
UsersDao ud=newusersdao();
私人名单用户;
public TableModel()引发异常{
this.users=(ArrayList)ud.getUsersList();
}   
私有日期格式df=新的SimpleDataFormat(“dd-MM-yyyy”);
@凌驾
public int getRowCount(){
返回users.size();
}
@凌驾
public int getColumnCount(){
返回10;
}
@凌驾
公共对象getValueAt(int行索引、int列索引){
Users u=Users.get(rowIndex);
开关(列索引){
案例0:返回getRowCount();
案例1:返回u.getName();
案例2:返回u.getAge();
案例3:返回u.getGender();
默认值:返回“”;
}
}
公共字符串getColumnName(int列){
开关(列){
案例0:返回“否”;
案例1:返回“名称”;
案例2:返回“年龄”;
案例3:返回“性别”;
默认值:返回“”;
}
}
公共void addUser(用户u){
用户。添加(u);
fireTableRowsInserted(users.size()-1,users.size()-1);
}
公共用户(u){
用户。删除(p);
fireTableRowsInserted(users.size()-1,users.size()-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 "";     
    }
}

我想你在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 "";     
    }
}

是什么阻止您使用
rowIndex
?是
案例0:返回rowIndex我做了案例0:返回u;我没有工作,哈哈,非常感谢;)是什么阻止您使用
rowIndex
?是
案例0:返回rowIndex我做了案例0:返回u;我没有工作,哈哈,非常感谢;)