我在jframe中制作游戏,我不知道如何使用applet和制作内部类,所以我保持jframe风格。 这是我的问题。如何在jframe中添加组件之间的延迟。
我在框架的中心添加了“loading.gif”。并且jbutton在框架的南部“继续”但是我想在“继续按钮”出现之前加上延迟3秒并且“loading.gif”消失。 (比如在游戏的加载部分)。
这是我的代码......
//the p2 components
ImageIcon loading = new ImageIcon("C:\\java pics\\loading.gif");
JLabel startLoading = new JLabel(loading);
JButton continue1 = new JButton("Continue");
p2.add(startLoading,borderlayout.center);
p2.add(continue1,borderlayout.south);
// jbutton continue事件
start.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
f.add(p2);
f.remove(p1);
f.setVisible(true);
f.revalidate();
f.repaint();
Timer t = new Timer();
//delay for 3 seconds
try {
Timer.delay(3000);
} catch (InterruptedException ee) {
return;
}
t.start();
}
});
我将不胜感激。
答案 0 :(得分:1)
but i want to add delay for 3 seconds before the "continue button" appears and the "loading.gif" disappear.
这是你需要做的:
1.当你开始游戏时,只需在JLABEL
中显示GIF即可
2.产生TimerTask
JFRAME
,在显示invalidate()
后仅执行一次 3秒。
3.在计时器任务中,拨打JFRAME
上的JLABEL
,然后移除invalidate()
,拨打JBUTTON
,然后添加{{1}}