我正在尝试制作一个简单的 JButton,单击它会导致简单的 JLabel 将其文本更改为“第二个文本”,之后我希望当前线程休眠几秒钟,最后让 JLabel 再次更改其文本,这个“第三个文本”的时间。我想我已经在这里完成了,但它并没有按照我想要的方式工作。下面提供的代码使 JButton 在指定的时间范围内冻结,就好像它被按住一样,然后标签变为其第三状态。换言之,“秒文字”不会出现。
请告诉我应该怎么做。
谢谢你。
package testPackage;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Demo {
public static void main(String[] args) throws InterruptedException {
JFrame frame = new JFrame();
JButton button = new JButton("Click me!");
final JLabel label = new JLabel("first text");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(600, 600);
JPanel panel = new JPanel();
panel.add(button);
panel.add(label);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
label.setText("second text");
try {
Thread.currentThread();
Thread.sleep(4000);
} catch (InterruptedException exc) {
System.out.println("Erorrrrr");
}
}
});
frame.add(panel);
frame.setVisible(true);
}
}