Hallöle,
Ich muss für die Uni eine graphische Benutzeroberfläche mit Java programmieren. Ich will gleich vorweg anmerken, dass ich von Java eigentlich nicht allzuviel verstehe und nur einen Programmierschein hinbekommen muss und daher eher Befehle zusammenkopiere ohne viel zu verstehen (ja ich weiß das ist eigentlich nicht gut aber mir fehlt die Zeit das jetzt vernünftig zu lernen).
Mein Problem lässt sich eigentlich darauf reduzieren, dass ich beispielsweise einen Label anzeigen möchte, dann ein paar Sekunden nichts passiert und dann der Label geändert wird. Ich hab das auch erstmal mit thread.sleep hinbekommen. Allerdings will ich nun noch zusätzlich, dass das ganze bei einem Klick auf nen Button geschieht und dort funktioniert das dann irgendwie nicht mehr. Kann mir da jemand weiterhelfen?
Hier mal nen Beispielcode mit dem Problem:
Bei dem Beispiel ist es dann so, dass sofort "und nun" angezeigt wird. Das sollte halt erst nach ner Sekunde passieren. Ich danke schonmal
lg
Ich muss für die Uni eine graphische Benutzeroberfläche mit Java programmieren. Ich will gleich vorweg anmerken, dass ich von Java eigentlich nicht allzuviel verstehe und nur einen Programmierschein hinbekommen muss und daher eher Befehle zusammenkopiere ohne viel zu verstehen (ja ich weiß das ist eigentlich nicht gut aber mir fehlt die Zeit das jetzt vernünftig zu lernen).
Mein Problem lässt sich eigentlich darauf reduzieren, dass ich beispielsweise einen Label anzeigen möchte, dann ein paar Sekunden nichts passiert und dann der Label geändert wird. Ich hab das auch erstmal mit thread.sleep hinbekommen. Allerdings will ich nun noch zusätzlich, dass das ganze bei einem Klick auf nen Button geschieht und dort funktioniert das dann irgendwie nicht mehr. Kann mir da jemand weiterhelfen?
Hier mal nen Beispielcode mit dem Problem:
Java:
package fischi;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
final JFrame f = new JFrame("Test");
f.setLayout(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(500, 500);
final JButton button = new JButton("los gehts");
button.setSize(200, 50);
button.setLocation(50, 30+50);
ActionListener bs = new ActionListener() {
@Override public void actionPerformed( ActionEvent e ) {
JLabel b = new JLabel ("Hallo");
b.setSize(400, 50);
b.setLocation(50, 10);
f.add(b);
Thread t = Thread.currentThread();
try{
Thread.sleep(1000);
}
catch(InterruptedException x) {
}
b.setText("und nun");
}
};
button.addActionListener( bs );
f.add(button);
f.setVisible(true);
}
}
Bei dem Beispiel ist es dann so, dass sofort "und nun" angezeigt wird. Das sollte halt erst nach ner Sekunde passieren. Ich danke schonmal
lg