4

我有 2 个简单的数据库查询JTable(客户端和服务器)。

客户端具有查看记录、打印、保存 PDF 等所有功能。服务器自动刷新数据库记录到表,计时器为 30 秒。(尚未实现。)

我的问题是我可以将数据库记录显示到表中,而以下代码没有问题。

PreparedStatement pst = conn.prepareStatement("SQL");
ResultSet rs = pst.ExecuteQuery();
jTable1.setModel(DbUtils.resultSetToTableModel(rs));

但我希望用上面的代码和定时器来实现表的自动刷新。

例如,我将代码插入到名为 public void 的方法Update_Records()中。我应该如何使用计时器来调用该方法以每 30 秒将记录显示到表中?

4

1 回答 1

10

你可以这样做:

Timer timer = new Timer(0, new ActionListener() {

   @Override
   public void actionPerformed(ActionEvent e) {
      updateRecords();
   }
});

timer.setDelay(30000); // delay for 30 seconds
timer.start();

另外: Java 命名约定具有以小写字母开头的方法,并且通常不使用下划线,因此Update_Records变成updateRecords.

于 2012-12-27T02:28:26.570 回答