【发布时间】:2019-12-01 14:36:27
【问题描述】:
我正在尝试在使用 JavaFX(IDE:NetBeans)和 OS(Win 10)开发的屏幕录制应用程序中添加一个计时器。我现在正在添加一个计时器,用作:
用户点击开始录制,我的应用程序上的标签应该开始将时间显示为 00:00:00,我有时间(以秒为单位),即使在控制台上打印,但是当我使用它显示在应用程序上时只显示 0 秒。我也附上代码。请帮忙。当我有值时如何刷新应用程序界面或运行计时器,它只是没有更新。
在这里你可以看到我的应用没有启动计时器;但是,正在打印在控制台App's SnapConsole Snap
private void scheduleTimerTasks() {
isRecording = true;
int delay =50;
long period = 500;
//1000 / 48;
RecordTimer.reset();
timerRecord = new Timer("Thread TimerRecord");
timerCount = new Timer("Thread TimerCount");
recorderTask = new ScreenRecorderTask(encoder, rectangle);
countTask = new TimerCountTask(Timer);
timerRecord.scheduleAtFixedRate(recorderTask, delay, period);
timerCount.scheduleAtFixedRate(countTask, delay, period);
Timer.setText(""+countTask.timeInSec+" s"); //Setting Label Text
System.out.println(countTask.timeInSec);
recordStateLabel.setText("recorder Started...");
}
【问题讨论】:
-
-source 1.7 不支持 lambda 表达式(使用 -source 8 或更高版本来启用 lambda 表达式)得到了这个
-
然后使用 Java 8?而不是 7...
-
必填,否则,我会有
-
好吧,像这样:
Platform.runLater(new Runnable() { @Override public void run() { timer.setText(""+countTask.timeInSec+" s"); } }); -
什么是平台?我需要导入一些东西还是什么?它仅在平台上给出错误。