我正在尝试为项目添加一些额外内容以了解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");
答案 0 :(得分:2)
不要在Swing中使用Thread.sleep
,它会阻止EDT
- 改为使用Swing Timer。
答案 1 :(得分:0)
问题在于使用Thread.sleep()阻止了GUI线程,你应该从不那样做。使用计时器。
答案 2 :(得分:-1)
我不确定你要做什么。如果您确实需要计时器,请使用一个: Swing Timer example
也许您可以尝试以其他方式解释您的问题,以使其更容易理解。