在循环中等待3秒

时间:2014-11-27 07:15:13

标签: java swing timer

我有程序从mysql db获取数据并在textfield中显示它。

我希望每3秒显示一条记录。

这是我的代码,

Connection conn = null;
    Statement st = null;
    ResultSet rs = null;
    String dbUrl = "jdbc:mysql://localhost:3306/jointdb";
    String dbUsr = "root";
    String dbPass = "a12345";
    try{
    String sql= "select * from eridb  ";
    Class.forName("com.mysql.jdbc.Driver");
    conn = DriverManager.getConnection (dbUrl,dbUsr,dbPass);
    st = conn.createStatement();
    rs = st.executeQuery(sql);
   // textField1.setText("enter text here");
    while(rs.next()){
        String value = rs.getString("id");
        textField1.setText(value);          
    }

}catch(Exception e){
    e.printStackTrace();
}finally{
    try {
        rs.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    try {
        st.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    try {
        conn.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
} 

我已经习惯了睡眠,但程序悬而未决(没有任何好处)

请帮助我 谢谢......

1 个答案:

答案 0 :(得分:1)

如果你想在Swing中做一些花费一些时间的后台工作,你应该使用SwingWorkerOracle's tutorial,虽然不是很有用......)。

为了安排任务,你可以去,就像@Andrew Thompson用javax.swing.Timer说的那样(这次有点better tutorial from Oracle