-1

我正在尝试向项目添加一些额外内容以了解 gui 接口。我正在用java构建一个警报面板,我只想在各种激活状态下更改文本,即从武装到武装,从解除武装到解除武装。

我尝试使用该Thread.sleep方法,但这只会延迟我的文本出现在屏幕上的时间。
你能告诉我需要抬头的方向吗?以下是我正在处理的部分,但如果需要,我有完整的代码可用。

public void actionPerformed(ActionEvent e){
    else if(e.getSource() == disarm){
    dPanel.setBackground(Color.GREEN);
    adPanel.setBackground(Color.GREEN);
    screen.setText("Disarming");
    try {
      Thread.sleep(5000);
    } catch (InterruptedException e1) {                                         
       e1.printStackTrace();
       }
 screen.setText("Disarmed");
4

3 回答 3

2

Thread.sleep 永远不要在 Swing 中使用,它会阻止EDT— 改用Swing 计时器

于 2013-02-23T21:13:32.467 回答
0

问题是使用 Thread.sleep() 你阻塞了 GUI 线程,你永远不会这样做。使用计时器。

于 2013-02-23T21:14:06.257 回答
-1

我不确定你想做什么。如果您确实需要一个计时器,请使用一个: Swing Timer example

也许您可以尝试以其他方式解释您的问题,以使其更易于理解。

于 2013-02-23T21:20:37.250 回答