Tag: timer

如何在向JFrame添加组件之间添加时间延迟?

我创建了一个JFrame,它包含一个JPanel。 我创建了许多JLabel。 我可以将JLabel添加到JPanel,并正确显示它们。 但我想实现它们,因为它们按顺序显示 ; 要显示的每个JLabel之间的时间延迟。 在搜索StackOverfLow之后,我尝试了一些代码,但它没有效果! 那么如何使用计时器通过设置时间延迟使组件(标签)一个接一个地显示。 我不希望修复我的代码,特别是在答案中。 只是 展示如何以延迟的方式显示任何类型的组件,每个组件在一段时间后显示。 就这些。 我提供了我的代码,以显示我努力解决问题。 首先,这是JLabel的子类使用:(没有问题) import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.BorderFactory; import javax.swing.JLabel; public class DLabel extends JLabel { Dimension size = new Dimension(70, 75); Font font = new Font(Font.SANS_SERIF, 12, 35); public DLabel(String t) { this.setPreferredSize(size); this.setBorder(BorderFactory.createBevelBorder(1, […]

显示JAVA中每月支持的已用时间

我需要在申请表中显示已用时间。 我目前使用此代码执行此操作: AppTimer = new Timer(); AppTimer.scheduleAtFixedRate(new java.util.TimerTask() { SimpleDateFormat sdf = new SimpleDateFormat(“HH:mm:ss”); public void run() { sdf.setTimeZone(java.util.TimeZone.getTimeZone(“GMT+0”)); lblAppRunTime.setText(“”+sdf.format(new Date(AppTimeCounter*1000))); AppTimeCounter++; } },1000, 1000); 此代码正确显示小时,分钟和秒,但如何显示DAYS&MONTHS? new SimpleDateFormat(“MD HH:mm:ss”)无法执行此操作,例如,当经过5秒时,它也会显示1个月和1天! 我怎样才能显示月和日? 谢谢

有条件的停止计时器只能第一次使用?

我正在写一个“谁想成为一个百万人”的游戏,我已经完成了所有设置,这只是计时器的一个问题。 游戏的工作方式如下:如果用户得到正确的问题,他/她会继续前进。 如果没有,游戏结束,他们可以选择再次游戏。 当游戏第一次运行它很好并且计时器完成它应该做的事情 – 从30秒开始倒计时,显示秒数。 但是,当用户点击“再次播放”按钮时,前一个计时器继续使用新计时器。 喜欢这个: -timerA在用户输了之前还剩20秒(用a表示)。 -timerB在下次比赛开始时开始(由b表示)。 输出:20a 29b 19a 28b 18a 27b 17a 26b ……. 2a 11b 1a 10b 9b 8b 7b 6b 5b 4b 3b 2b 1b 所以这是我的名为CountDown的计时器类: import java.util.Timer; import java.util.TimerTask; public class CountDown { static Timer timer; public static int seconds = 30; public CountDown() { timer = […]

如何在Java中正确处理定时器?

我希望我的计时器在5秒时间内只执行一次actionPerformed方法,但它在控制台“Hello”中写了很多次: import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Timer; public class X{ public static void main(String args[]) { ActionListener actionListener = new ActionListener() { public void actionPerformed(ActionEvent actionEvent) { System.out.println( “Hello” ); } }; Timer timer = new Timer( 5000, actionListener ); timer.start(); } } 我怎样才能达到我想要的效果? 谢谢

你如何创建一个立即触发的javax.swing.Timer,然后每隔t毫秒?

现在,我的代码看起来像这样: Timer timer = new javax.swing.Timer(5000, myActionEvent); 根据我所看到的(以及Timer类的Javadoc ),计时器将等待5000毫秒(5秒),触发动作事件,等待5000毫秒,再次触发,依此类推。 但是,我试图获得的行为是计时器启动,事件被触发,计时器等待5000毫秒,再次触发,然后等待再次触发。 除非我错过了什么,否则我没有办法创建一个在开火前不等待的计时器。 是否有一种良好,干净的方式来模仿这个?

EJB 3.x中@Schedule方法的动态参数

我是J2EE6中@Schedule注释的新手 我想使用带有Glassfish 3.1的EJB 3.x运行一个作业。 javax.ejb.Schedule对我们来说似乎是一个不错的选择,因此我们可以将自定义时间视为: @Singleton public class CustomTimer { @EJB SettingsFacade settingsFacade; @Schedule(second=”someSecondParameter”, minute=”someMinuteParameter”,hour=”someHourParameter”, persistent=false) public void executeTimer(){ //Code executing something against database using the settingsFacade } } 在这里,我们希望从数据库中获取参数,因此它们每个月都会更改。 任何干净的解决方案?

摇摆计时器如何工作?

你好,我在试图了解摆动计时器时遇到了麻烦。 帮助我可以有人给我看一个简单的闪烁动画? 我在网上看了很多但仍然不完全明白他们是如何工作的。 如果有人能给我这样一个例子,那会很有帮助: 如果我创建了一个圆圈: g.setColor(colors.ORANGE); g.fillOval(160, 70, 50, 50); 那么我怎么能使用摆动计时器将颜色从橙色改为使用带延迟的摆动计时器的灰色? 非常感谢你帮助我理解:)

将代码从使用定时器移植到scheduledexecutorservice

我正在尝试将代码从使用java 计时器移植到使用scheduledexecutorservice 我有以下用例 class A { public boolean execute() { try { Timer t = new Timer(); t.schedule (new ATimerTask(), period, delay); } catch (Exception e) { return false; } } } class B { public boolean execute() { try { Timer t = new Timer(); t.schedule (new BTimerTask(), period, delay); } catch (Exception e) […]

具有非固定延迟的Java计时器

我需要一个基本上每t秒做一次的Timer 。 但我希望能够修改计时器重复任务的计时器周期。 我写了这样的话: public Bot() { timer = new Timer(); timer.schedule(new Task(), 1000, moveTime = 1000); } public class Task extends TimerTask { @Override public void run() { System.out.println(“Time Passed from last repeat:” + movetime) moveTime += 1000; } 因此,在1000ms延迟后,定时器启动并重复每个moveTime ms。 问题是即使我将移动时间增加了1000,计时器总是以初始延迟(1000)运行,但每次定时器调用run()时,移动时间的值movetime增加(2000,3000,4000等run() 。 我错过了什么或者我有什么选择,每隔’t’秒重复一次任务,’t’是可变的? 谢谢。

CountDownTimer-用户递增。 问题

我有一个关于CountDownTimer的问题。 我必须创建一个应用程序,允许用户每次单击按钮时将时间时间增加+1。 然后在按钮停止点击后等待三秒钟,然后开始倒计时。 我在下面粘贴了我的代码。 我的问题是:我似乎无法使数字的增量正常工作,但似乎在我停止递增数字(onStop())后它直接进入(onFinish())。 而不是去OnTick()并将数字每秒减少1。 我已经尝试了很多方法来解决这个问题,但一直困扰着。 谁能引导我朝着正确的方向做什么? 任何帮助,将不胜感激。 感谢你们! @SuppressWarnings(“unused”) public class MainActivity extends Activity { public int countdown; Button stoptime; public TextView timedisplay; public Timer wavetimer; private long millisInFuture; private long countDownInterval; private long onclicktime; private long finished; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); countdown = 01; stoptime = (Button) findViewById(R.id.button2); […]