改变Jabel中的文本

时间:2013-02-23 21:11:50

标签: java jlabel

我正在尝试为项目添加一些额外内容以了解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");

3 个答案:

答案 0 :(得分:2)

不要在Swing中使用Thread.sleep ,它会阻止EDT - 改为使用Swing Timer

答案 1 :(得分:0)

问题在于使用Thread.sleep()阻止了GUI线程,你应该从不那样做。使用计时器。

答案 2 :(得分:-1)

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

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