java,为何我的代码没有依次执行?

 

本人是java小白,今天在练习Swing的时候写了这样一串代码。

 

CardLayout cardLayout = (CardLayout)UIS.getLayout();
cardLayout.show(UIS, "change");//切换至“change”,“change”继承自JPanel,在change中会使用repaint进行转场动画播放
System.out.println("1");//输出“1”,确认程序进行情况

//睡眠500毫秒

try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}

cardLayout.show(UIS, "zhuye");//切换至“zhuye”“zhuye”继承自JPanel。

System.out.println("2");//输出“2”,确认程序进行情况

 

这一串代码理想的效果是,在我按下按钮之后,会调用一个方法,方法中便包括了如上的代码,首先切换至“change”并留有500毫秒确保转场动画播放完毕,

在500毫秒过后,切换至“zhuye”。

 

事与愿违,此串代码的实际情况是:按下按钮,程序输出“1”,并没有切换至“change”,并开始睡眠500毫秒,接着直接切换至“zhuye”,输出“2”。

小白思索了很久也没有找出问题的原因,希望有大佬能够帮我解解惑,谢谢。

posted @ 2020-06-11 16:31  帽子小疾  阅读(181)  评论(0)    收藏  举报