private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
char[] pass = pass1.getPassword();
String passString = new String(pass);
String l = "1;"+jTextField1.getText()+"/"+passString+"/";
try{
a.connection_send(l);
\\HEREEE : I want to wait here 2 secondes before continue and doing a.connection_get()
loginInfo = a.connection_get();
if(Integer.parseInt(loginInfo) == 1) {
home_page a = new home_page();
a.setBounds(500, 200, 470, 330);
} else {
JOptionPane.showMessageDialog(null, "Wrong UserName or Password", "Alert !", JOptionPane.WARNING_MESSAGE);
jTextField1.setText("");
pass1.setText("");
}
} catch(Exception e) {
JOptionPane.showMessageDialog(null, "You Are not connected to Server !\nPlease check Your netowrk ", "Alert !", JOptionPane.WARNING_MESSAGE);
}
}
如何在下面的代码中设置一个计时器..我标记了我想放置一个小计时器的地方..任何想法这样做? 我的目标是等待一段时间,直到服务器准备好向我发送数据..所以我可以收到正确的数据!
答案 0 :(得分:1)
最简单的解决方案是使用Thread.sleep(long milliseconds)
方法。如果当前线程由于某种原因被中断,它会抛出InterruptedException
。示例用法如下:
try {
Thread.sleep(2000); //2000 milliseconds = 2 seconds
} catch (InterruptedException e) {
e.printStackTrace();
}
重要:请注意,Swing线程中的Thread.sleep(int milliseconds)
会冻结GUI!您应该将jButton1ActionPerformed()
方法ActionPerformed中的所有代码移动到另一个要运行的线程。
感谢@Stony Zhang
答案 1 :(得分:0)
您可以使用insert Thread.sleep(2000)
,这会导致您的应用程序暂停2,000毫秒(即2秒)。请注意,这必须出现在缓存InterruptedException
的try块中,如果另一个线程正在休眠时中断此缓存,则会抛出该块。