0
 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);
     }
 }

如何在下面的代码中设置计时器..我标记了我想放置一个小计时器的位置..有什么想法吗?我的目标是稍等片刻,直到服务器准备好向我发送数据……这样我才能接收到正确的数据!

4

2 回答 2

1

最简单的解决方案是使用该Thread.sleep(long milliseconds)方法。InterruptedException如果当前线程由于某种原因被中断,它会抛出一个。示例用法如下:

try {
  Thread.sleep(2000); //2000 milliseconds = 2 seconds
} catch (InterruptedException e) {
  e.printStackTrace();
}

重要提示:请注意,Thread.sleep(int milliseconds)在 Swing 线程中会使 GUI 冻结!您应该将jButton1ActionPerformed()ActionPerformed 方法中的所有代码移至另一个线程运行。

感谢@Stony Zhang

于 2013-05-26T23:43:08.783 回答
0

您可以使用 insert Thread.sleep(2000),这会导致您的应用程序暂停 2,000 毫秒(即 2 秒)。请注意,这必须出现在缓存 的 try 块中,InterruptedException如果另一个线程在睡眠时中断该线程,则会抛出该块。

于 2013-05-26T23:43:37.103 回答