您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在for循环中更新JLabel的问题

在for循环中更新JLabel的问题

不要使用循环或Thread.sleep。只需使用即可javax.swing.Timer。以下将导致每1000毫秒发生30 次迭代 。您可以相应地调整代码,使其适应actionPerformed每隔毫秒发生一次的情况。

int count = 0;
...
Timer timer = new Timer(1000, new ActionListener(){
    @Override
    public void actionPerformed(ActionEvent e){
        if (count == 30) {
            ((Timer)e.getSource()).stop();
        } else {
            int rand = (int) (Math.random()* RandomNames.size);   
            stars.setText(RandomNames.list.get(rand));
            count++;
        }
    }
});
timer.start();

如果需要,您可以Timer在构造函数中设置,并start()actionPerformed一个按钮的侦听器的中设置它。

如何使用Swing计时器中查看更多信息

其他 2022/1/1 18:27:37 有524人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶