(Java Swing)以时间间隔调用函数,并在标签中显示下一次调用的时间
我在JavaSwing应用程序中有这样的函数。我需要在点击按钮后调用许多函数的间隔和周期。函数必须在jbutton内部调用,因为视图中有一些全局参数用于jbutton函数。您能否帮助我如何在调用函数之间创建时间延迟以及如何在jLabel中显示剩余时间(Java Swing)以时间间隔调用函数,并在标签中显示下一次调用的时间,java,swing,time,Java,Swing,Time,我在JavaSwing应用程序中有这样的函数。我需要在点击按钮后调用许多函数的间隔和周期。函数必须在jbutton内部调用,因为视图中有一些全局参数用于jbutton函数。您能否帮助我如何在调用函数之间创建时间延迟以及如何在jLabel中显示剩余时间 private void jButton1MouseClicked(java.awt.event.MouseEvent evt) { statusMessageLabel.setText("Proccess started.");
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
statusMessageLabel.setText("Proccess started.");
for(int i=0;i< cycles;i++) {
//display remaining time
jLabelTimer.setText("00:09:59");
// after time call many functions and then go again
manyFunctions();
} catch (Exception e) {
System.out.println(e);
}
statusMessageLabel.setText("Proccess ended.");
}
}
private void jButton1MouseClicked(java.awt.event.MouseEvent evt){
statusMessageLabel.setText(“进程已启动”);
对于(int i=0;i
听起来你想看看。有了这些,你可以安排单个通话或定期通话
通过这种方式,您还可以添加一个计时器,定期重置标签文本。听起来您想看看。有了这些,你可以安排单个通话或定期通话
通过这种方式,您还可以添加一个计时器,定期重置标签文本。我同意Howard的建议,即Swing计时器可以在此处正常工作(1+),但我对代码的另一个关注点是:
manyFunctions();
这里到底发生了什么?您是否调用了大量耗费时间/cpu的代码?如果是这样,您需要注意不要在主Swing线程EDT上调用它,而是在后台线程中调用它,但同时只在EDT上更新Swing组件。这可以通过使用SwingWorker来简化,您可以在此处阅读更多内容:我同意Howard的建议,即Swing计时器可以在此处正常工作(1+),但我对您的代码的另一个关注点是:
manyFunctions();
这里到底发生了什么?您是否调用了大量耗费时间/cpu的代码?如果是这样,您需要注意不要在主Swing线程EDT上调用它,而是在后台线程中调用它,但同时只在EDT上更新Swing组件。这可以通过使用SwingWorker来简化,您可以在此处阅读更多内容: