i try to move it to the right(x++) every seconds
i try to move it with thread..
Help
A new Thread
is created like this:
Thread t = new Thread(new Runnable() {
@Override
public void run() {
//work here
}
});
t.start();//start thread
however I'd suggest a Swing Timer
as it runs on EDT
:
EDIT:
As per your questions I suggest using a Timer
the creating thread point was for general knowledge.
The probelm is the Thread is not run on EDT Thread of your swing GUI where as a Timer
does:
int delay = 1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
int count=0;
public void actionPerformed(ActionEvent evt) {
if(count==10) {//we did the task 10 times
((Timer)evt.getSource()).stop();
}
label.setLocation((label.getLocationOnScreen().x+10), label.getLocationOnScreen().y);
System.out.println(SwingUtilities.isEventDispatchThread());
count++;
}
};
new Timer(delay, taskPerformer).start();
Reference: