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 に答える