我想set一个JFrame其运行时无任何操作显示5秒自动关闭,请问怎么做?

我想set一个JFrame其运行时无任何操作显示5秒自动关闭,目的是我 想在打开某JFRAME2的之前先运行JFRAME1,JFrame1上面我镶嵌了 一个图片,请问怎么做?

4个回答

我弄了个最简单的,你参考一下吧。
参考资料:
http://download.oracle.com/javase/tutorial/uiswing/misc/splashscreen.html

要运行代码,需要加一个vm 参数。
如果是在命令行执行:
java -splash:图片地址 test.MySplashTest

如果是在eclipse中的话
运行图标右边的下拉箭头 -》 Run Configurations -》 Arguments -》 VM Arguments
填上
-splash:图片地址

[code="java"]package test.other;

import java.awt.SplashScreen;
import javax.swing.JFrame;

public class MySplashTest extends JFrame {

public MySplashTest() {
    super("SplashScreen demo");
    setSize(500, 300);
    this.setLocationRelativeTo(null);
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);

    final SplashScreen splash = SplashScreen.getSplashScreen();
    if (splash == null) {
        System.out.println("SplashScreen.getSplashScreen() returned null");
        return;
    }
    try {
        Thread.sleep(5000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    splash.close();
    setVisible(true);
}

public static void main(String[] args) {
    new MySplashTest();

}

}[/code]

可以在绘制JFrame2的线程里,在显示JFrame2,然后让线程休眠你指定的时间:
Thread.sleep(5000);
然后把JFrame1 dispose掉,再显示JFrame2就可以了。

感觉你要的效果很像一个欢迎界面,可以考虑一下SplashScreen.

控制台有什么输出吗?
[quote]-splash:图片地址[/quote]
这个参数加了吗?

使用js来设置个定时器,希望能给你帮助!
[code="html"]

function load() { var t=setTimeout("window.close()",5000) }



[/code]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐