我想通过使用主窗体USERGUI中执行的计时器来动态更改标题。
计时器的第一次执行如下:
public void startTimer(GUI gui, String staticTitle) {
//this.gui = gui;
stayingTitle = staticTitle;
timer = new Timer();
myTimerTask = new MyTimerTask();
int millisek = 1000;
timer.schedule(myTimerTask, millisek, millisek);
}
在计时器的运行功能中,它被定义为:
long hours = minuntilrecon / 3600;
long minutes = (minuntilrecon % 3600) / 60;
long seconds = minuntilrecon % 60;
String timeString = String.format("%02d:%02d:%02d", hours, minutes, seconds);
String setthisTitle = stayingTitle+" | Time left: "+ timeString;
UserGUI.newTitle(setthisTitle);
minuntilrecon = Math.abs(minuntilrecon-1000);
计时器应该每秒执行USERGUI中的以下功能:
public void newTitle(String gottitle){
this.setTitle(gottitle);
}
但我在控制台中得到的只是UserGUI.newTitle(setthisTitle);
行的空指针异常。
线程“Timer-0”中的异常java.lang.NullPointerException
at gui.TimerTitle $ MyTimerTask.run(TimerTitle.java:74)
在java.util.TimerThread.mainLoop(未知来源)
在java.util.TimerThread.run(未知来源)
有什么想法吗?