i try to move it to the right(x++) every seconds
i try to move it with thread..
- how to do it? (and can see it move every second)
- there are another way to do it without use thread?
- what layout manager that i should use?
heres i try..
public class help {
JFrame frame = new JFrame();
JLabel label = new JLabel("target");
public help() {
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setSize(800,600);
frame.setLayout(new GridLayout());
frame.add(label);
label.setPreferredSize(new Dimension(100,100));
label.setLocation(400, 300);
frame.getContentPane().validate();
frame.repaint();
frame.setVisible(true);
mysterious();
}
void mysterious(){
////////////////////////////////
// part of edit responding David kroukamp
Thread t = new Thread(new Runnable() {
@Override
public void run() {
try{
for (int z=0; z<10; z++){
label.setLocation((label.getLocationOnScreen().x+10), label.getLocationOnScreen().y);
Thread.sleep(1000);
}
}catch(Exception ae){
}
}
});
t.start();
//////////////////////////////
}
public static void main(String[]args){
new help();
}
}
thanks a lot for any kind of help
HelpEvent Dispatch ThreadA new
Threadis created like this:however I’d suggest a Swing
Timeras it runs onEDT:EDIT:
As per your questions I suggest using a
Timerthe 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
Timerdoes:Reference: