java - 如何删除 JTable Java 中的空行

标签 java swing

我正在从数据库中选择记录,它在 JTable 中显示了一些空记录以及我无法使用表过滤记录的记录。

这是图像Empty Records中的一些空记录

public ArrayList<User> getUsers(){

    ArrayList<User> usersList=new ArrayList<User>();
   Connection connection=getConnection();
    String query="SELECT * FROM info";
    Statement myState;
    ResultSet rs;
    try{
    myState=connection.createStatement();
    rs=myState.executeQuery(query);

    User user;
    while(rs.next()){
            user=new User(rs.getInt("id"),rs.getString("fname"),rs.getString("lname"),rs.getInt("age"));
            usersList.add(user);
        }
    }
    catch(Exception ep){                        
        ep.printStackTrace();
    }
    return usersList;
}

我正在使用下面给出的函数在 JTable 中填充这些记录。

public void ShowUsersinJTable(){


    ArrayList<User> uList=getUsers();
    DefaultTableModel model=(DefaultTableModel)jTable1.getModel();
    Object[] row=new Object[4];
    for(int i=0;i<uList.size();i++){


        row[0]=uList.get(i).getId();
        row[1]=uList.get(i).getFname();
        row[2]=uList.get(i).getLname();
        row[3]=uList.get(i).Age();
          model.addRow(row);
   }
}

最佳答案

由于代码似乎是正确的,请尝试将您的代码更改为:

ArrayList<User> uList=getUsers();
DefaultTableModel model=(DefaultTableModel)jTable1.getModel();
for(int i=0;i<uList.size();i++){
    Object[] row=new Object[4];

    row[0]=uList.get(i).getId();
    row[1]=uList.get(i).getFname();
    row[2]=uList.get(i).getLname();
    row[3]=uList.get(i).Age();
      model.addRow(row);
}

您也可以在填充表格之前删除所有行(仅当表格已填充数据时才需要)

for (int i = table.getRowCount() - 1; i >= 0; i--) {
    model.removeRow(i);
}

请告诉我它是否有效,以便在需要时我可以进一步帮助您

关于java - 如何删除 JTable Java 中的空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41099957/

相关文章:

java - JPanel 左侧的 JTextArea

java - 将 AbstractHandler 映射到嵌入式服务器 (Jetty) 的特定路径

java - 如何使用 Files.createFile() 将数据写入新行?

Java BlockingQueue 在 take() 上阻塞,略有不同

java - JComponent 的运行时对齐 + 链接到 RowFilters

具有密码保护的 Java、JFileChooser 和 Windows 网络共享

java - 在 Eclipse 中,我导出的可执行 jar 没有做任何事情! (LWJGL)

Java EE 应用程序方法

java - 如何在 NetBeans 中的 JScrollPane 中设计 JTable

java - 如何将 jTextPane 中所有突出显示的单词更改为 jTextField 中给出的单词?