我有程序从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();
}
}
我已经习惯了睡眠,但程序悬而未决(没有任何好处)
请帮助我 谢谢......
答案 0 :(得分:1)
如果你想在Swing中做一些花费一些时间的后台工作,你应该使用SwingWorker
(Oracle's tutorial,虽然不是很有用......)。
为了安排任务,你可以去,就像@Andrew Thompson用javax.swing.Timer
说的那样(这次有点better tutorial from Oracle。