Ein Problem: habe eine einfache GUI-App mit einer einzigen Taste, wenn ich die Taste drücken soll es eine Nachricht drucken und nach 2 Sekunden sollte eine andere Nachricht drucken, aber wenn ich Thread.sleep verwenden (x); es kann den Code oben nicht ausführen und wartet, dann ist dies der Code:JAVA drücken Sie die Taste und warten Sie einige Sekunden
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");
}
Aber das funktioniert nicht, wie ich .. will weil es 2 Sekunden warten und druckt dann lol 1 und 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 un sistema che aspetta qualche secondo prima di continuare per la falsa Konsole System.out.println ("lol"); }
Das bezweifle ich. Veröffentlichen Sie ein minimales, vollständiges Programm, das das Problem reproduziert. Meine Vermutung ist, dass Sie nicht wirklich System.out.println() verwenden, sondern stattdessen versuchen, Text in Ihrer Benutzeroberfläche anzuzeigen. Frieren Sie den UI-Thread nicht mit sleep() ein. Verwenden Sie einen javax.swing.Timer. Diese Frage wurde tausendmal gestellt, aber ich bin zu faul, das beste Duplikat zu finden. Lesen Sie das Swing-Tutorial über Nebenläufigkeit. –