I want my JLabel to change after 1 second but it seems that Java only displays the latest text.
Here is my code:
btnGuess.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
double num = Double.parseDouble(textField.getText());
if (num == answer) {
lblResult.setText("CORRECT!");
} else if (num > answer) {
lblResult.setText("WAITING");
Thread.sleep(1000);
lblResult.setText("TOO LARGE");
lblResult.setText("WAITING");
} else {
lblResult.setText("WAITING");
Thread.sleep(1000);
lblResult.setText("TOO SMALL");
}
} catch (Exception e) {
lblResult.setText("Error");
}
}
});
What I want: display "WAITING" -> 1s -> display "TOO LARGE"
What it does: test.gif
How could I fix this?
Thank you.
Language: Java
JRE: jre1.8.0_144
IDE: Eclipse Oxygen Release (4.7.0)
USING: Swing Designer -> Application Window