【发布时间】:2018-07-11 19:28:17
【问题描述】:
在旧的 GUI 构建器中,我只需在命令中按“下一个表单”即可。在新的 GUI 构建器中,我试图通过代码实现它。但是,它没有等待 5 秒,应用程序直接进入下一个表单。
我想做什么:在 Splash 中停留 5 秒钟,然后转到登录表单。这将如何运作?
我的表格:
Splash.java, 有 GIF 动画。
Login.java(下一个表格)
Myapplication.java(主窗体)
主文件,我的应用程序代码:
public void start() {
if(current != null){
current.show();
return;
}
new Splash().show();
try {
Thread.sleep(5000);
} catch (InterruptedException ex) {
}
new Login().show();
}
更新:我在登录表单中添加了睡眠代码,每次我去那里,它都会等待 5 秒。这是做到这一点的最佳方式吗? 公共登录(){
this(com.codename1.ui.util.Resources.getGlobalResources());
try {
Thread.sleep(3000);
} catch (InterruptedException ex) {
}
更新 2:
public void start() {
if(current != null){
current.show();
return;
}
new Splash().show();
// new login().show();
new UITimer(() -> {
new login().show();
}).schedule(3000, false, new login());
不工作。
【问题讨论】:
-
正如@SolStack 提到的,您应该使用
UITimersleep 将 EDT 固定在适当的位置,不会让它绘制或做任何事情(例如显示表单)请参阅 codenameone.com/manual/edt.html -
谢谢。又做了一次更新,还是漏掉了一些东西。
标签: java codenameone