黑莓 - 如何使时钟倒计时并显示在屏幕上

发布于 2024-12-21 20:39:00 字数 97 浏览 2 评论 0原文

我正在制作一个带有问题和答案的测验应用程序。 我想制作一个时钟倒计时(分钟 + 秒)并将其显示在屏幕上。 但我不知道该怎么做。 有人可以帮我吗?

I am making a quiz application with question and answer.
I want to make an clock count down ( Minute + Second ) and display it on screen.
But I can not how to do that.
Can anyone help me please ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

幼儿园老大 2024-12-28 20:39:00

这是打印时间 mm:ss 格式(分钟:秒)的一种解决方案

   public class StartUp extends UiApplication{
        public static void main(String[] args) {
            StartUp start=new StartUp();
            start.enterEventDispatcher();
        }
        public StartUp() {
            pushScreen(new Timerscreen());
        }
    }

          class Timerscreen extends MainScreen
        {
            LabelField time;
            long mille=0;
            Timer timer=null;TimerTask task=null;
            public Timerscreen() {
                mille=1000*60*1;
                time=new LabelField();
                add(time);
                timer=new Timer();

                task=new TimerTask() {

                    public void run() {
                        synchronized (UiApplication.getEventLock()) {

                            if(mille!=0){
                                SimpleDateFormat date=new SimpleDateFormat("mm:ss") ;
                                System.out.println("================="+date.formatLocal(mille)+"====================="+Thread.activeCount());
                                time.setText(date.formatLocal(mille));
                                mille=mille-1000;
                            }else{
time.setText("00:00");
mille=1000*60*1;
                                timer.cancel();
                                UiApplication.getUiApplication().invokeLater(new Runnable() {
                                    public void run() {
                                        Dialog.inform("Time expaired");
                                    }
                                });

                            }
                        }
                    }
                };
                timer.schedule(task,0, 1000);
            }
        }

this is one solution to print time mm:ss format (Minutes:seconds)

   public class StartUp extends UiApplication{
        public static void main(String[] args) {
            StartUp start=new StartUp();
            start.enterEventDispatcher();
        }
        public StartUp() {
            pushScreen(new Timerscreen());
        }
    }

          class Timerscreen extends MainScreen
        {
            LabelField time;
            long mille=0;
            Timer timer=null;TimerTask task=null;
            public Timerscreen() {
                mille=1000*60*1;
                time=new LabelField();
                add(time);
                timer=new Timer();

                task=new TimerTask() {

                    public void run() {
                        synchronized (UiApplication.getEventLock()) {

                            if(mille!=0){
                                SimpleDateFormat date=new SimpleDateFormat("mm:ss") ;
                                System.out.println("================="+date.formatLocal(mille)+"====================="+Thread.activeCount());
                                time.setText(date.formatLocal(mille));
                                mille=mille-1000;
                            }else{
time.setText("00:00");
mille=1000*60*1;
                                timer.cancel();
                                UiApplication.getUiApplication().invokeLater(new Runnable() {
                                    public void run() {
                                        Dialog.inform("Time expaired");
                                    }
                                });

                            }
                        }
                    }
                };
                timer.schedule(task,0, 1000);
            }
        }
笔落惊风雨 2024-12-28 20:39:00

与上面相同,但有些变化:

第一组:

int 秒=120; // 你想要多少秒;

public void callTheTimer()
{   
    label=new LabelField("\t");
    add(label);
    timer=new Timer();
    timerTask=new TimerTask() 
    {
        public void run() 
        {
            synchronized (UiApplication.getEventLock()) 
            {
                if(secs!=0)
                {
                    label.setText(""+(secs--)+" secs");                 
                }
                else
                {   
                    timer.cancel();                     
                    UiApplication.getUiApplication().invokeLater(new Runnable() 
                    {
                        public void run() 
                        {
                            label.setText("");
                            Dialog.alert("Times Up");
                            secs=120;                               
                        }           
                    });                     
                }
            }
        }
    };
    timer.schedule(timerTask, 0, 1000);
}

这就够了;

Same like above but some change:

First set:

int secs=120; // how many seconds you want;

public void callTheTimer()
{   
    label=new LabelField("\t");
    add(label);
    timer=new Timer();
    timerTask=new TimerTask() 
    {
        public void run() 
        {
            synchronized (UiApplication.getEventLock()) 
            {
                if(secs!=0)
                {
                    label.setText(""+(secs--)+" secs");                 
                }
                else
                {   
                    timer.cancel();                     
                    UiApplication.getUiApplication().invokeLater(new Runnable() 
                    {
                        public void run() 
                        {
                            label.setText("");
                            Dialog.alert("Times Up");
                            secs=120;                               
                        }           
                    });                     
                }
            }
        }
    };
    timer.schedule(timerTask, 0, 1000);
}

This is enough;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文