java label setText and setBounds clashing?
- by java
I would like to have a JLabel changint color to a random one, while jumping to a random position, and while changing its text.
but the setText and setBounds seem to clash and i don't know why. if you comment out the setText then the setBounds will work, but they won't work together.
import java.awt.*;
import java.util.*;
import javax.swing.*;
public class test2 extends JFrame {
private static JLabel label = new JLabel("0");
private static Random gen = new Random();
public test2() {
JPanel panel = new JPanel();
panel.add(label);
this.add(panel);
}
public static void move() {
for (int i = 0; i < 10; i++) {
int n = gen.nextInt(254)+1;
int nn = gen.nextInt(254)+1;
int nnn = gen.nextInt(254)+1;
label.setText(""+i);
//the setBounds command will not work with the setText command. why?
label.setBounds(n*2, nn*2, 20, 20);
label.setForeground(new Color(n, nn, nnn));
try {
Thread.sleep(200);
} catch (Exception e) {}
}
}
public static void main(String[] args) {
test2 frame = new test2();
frame.setVisible(true);
frame.setSize(600, 600);
frame.setResizable(true);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
move();
}
}