我(我认为)摆动计时器有问题。我编写了一些运行良好的代码,然后将其全部转移到我的新计算机上,但它立即无法运行。我用这个方法写了一个 GUI 类(基于 JFrame):
public void Splash(){
mainPanel.add(Empous.splash, BorderLayout.CENTER);
while(Empous.splash.GetCount() < 3){
//System.out.println(Empous.splash.GetCount());
}
}
该方法是从另一个类调用的。那个 Empous.splash 家伙是一个 JPanel 类,它只运行启动动画。它使用摆动计时器来做到这一点。在启动类中,侦听器通过以下代码调整我的框架的内容:
private class TimerListener implements ActionListener{
public void actionPerformed(ActionEvent evt) {
counter+=1;
if (counter==1){
title2.setText("In Association With");
title1.setText("El Pollo Diablo Productions");
}
if (counter==2){
remove(title2);
remove(title1);
repaint();
}
if (counter==3){
timer.stop();
}
}
}
现在,如果第一个块中的打印语句被注释掉,我的程序将在计时器停止后冻结。如果我取消注释,程序将打印出计数器的值,然后继续下雨。我想取出 print 语句并让 while 循环运行而不做任何事情,但我不能按照目前的行为方式这样做。任何帮助表示赞赏。