使用swing Timer在JFrame之间切换

时间:2017-01-11 12:42:02

标签: java swing timer

我有两个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();

1 个答案:

答案 0 :(得分:5)

你已经把定时器写成在你打电话开始后100毫秒激活,这几乎是一眨眼。所以它只是在做你要告诉它的事情。如果您想延迟更长时间,请将其编码为更长时间。您还可以通过setInitialDelay(...)明确设置初始延迟,但这不会改变任何内容。

在你进一步深入了解这个项目之前,请阅读The Use of Multiple JFrames: Good or Bad Practice?