我有两个JFrame A和B.我有一个在框架A上运行的gif。经过一段时间我想要关闭框架A并显示框架B.我使用下面的代码但是它会在程序运行时立即触发动作执行。我该如何解决这个问题?
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
new FrameB().setVisible(true);
}
};
Timer timer = new Timer(100 ,taskPerformer);
timer.setRepeats(false);
timer.start();
答案 0 :(得分:5)
你已经把定时器写成在你打电话开始后100毫秒激活,这几乎是一眨眼。所以它只是在做你要告诉它的事情。如果您想延迟更长时间,请将其编码为更长时间。您还可以通过setInitialDelay(...)
明确设置初始延迟,但这不会改变任何内容。
在你进一步深入了解这个项目之前,请阅读The Use of Multiple JFrames: Good or Bad Practice?。