問題:ボタンを押すとメッセージを表示し、2秒後に別のメッセージが表示されるはずですが、Thread.sleep (バツ);それは2秒待ってから、笑1を印刷し、原因笑。2.JAVAボタンを押して数秒待つ
private void button1(java.awt.event.ActionEvent evt){
System.out.println("lol 1");
try {
Thread.sleep(2000);
} catch (InterruptedException ex) {
System.out.println("error");
}
System.out.println("lol 2");
}
しかし、私が望むように、これは動作しません:それはそれより上のコードを実行し、待機していない、これはコードです
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
PSCGenerator ps = new PSCGenerator();
String pin = jTextField1.getText();
String msg[] = {"Cracking the database...\n","Database Cracked succesfully!\n","Running the exploit...\n","Passing '"+pin+"' to the exploit..\n","New code succesfully spoofed!\n"};
int time[] = {2000,1400,1000,2500};
int x=0;
long k=2000;
jTextArea1.append(msg[x]);
try {
Thread.sleep(k);
} catch (InterruptedException ex) {
Logger.getLogger(PSCGUI.class.getName()).log(Level.SEVERE, null, ex);
}
// creandoアンチェSISTEMA aspetta qualcheセコンドプリマ・ディcontinuareあたりラfalsaコンソール のSystem.out.println( "笑"); }
私はそれを疑います。問題を再現する最小限の完全なプログラムを投稿してください。私の推測では、実際にはSystem.out.println()を使用していないのですが、UIにテキストを表示しようとしています。 sleep()を使用してUIスレッドをフリーズしないでください。 javax.swing.Timerを使用します。この質問は何度も聞かれましたが、私は最高の重複を見つけるのが面倒です。並行性についてのスイングチュートリアルを読んでください。 –