Hi!
I am new to Java and Swing. I have tried to search the net (including
comp.lang.java.gui FAQ), but I cannot figure out what is wrong with
the following test of swing. The window only updates when I am
changing the size of the window. How do I get the program to update
the window all by itself?
The program genereates a random number of lines, and is adding a
random number of lines when pu****ng a button.
Thanks in advance for any help!
public class Test implements ActionListener {
Box box;
int lines;
Random generator = new Random();
Test() {
JFrame jfrm = new JFrame("Random Lines Test");
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
box = Box.createVerticalBox();
int random = generator.nextInt(9)+1;
for (int i = 1; i <= random; i++) {
box.add(new JLabel("Line number " + i));
}
lines = random;
JButton jbRandom = new JButton("Add a random (1-9) number of
lines");
jbRandom.addActionListener(this);
jfrm.add(box);
jfrm.add(jbRandom, BorderLayout.SOUTH);
jfrm.pack();
jfrm.setExtendedState(Frame.MAXIMIZED_BOTH);
jfrm.setVisible(true);
}
public void actionPerformed(ActionEvent ae) {
int random = generator.nextInt(9)+1;
for (int i = lines; i < lines+random; i++) {
box.add(new JLabel("Line number " + i));
}
lines+=random;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Test();
}
});
}
}