0
我正在使用Java和JFreeChart的应用程序。在我的主要内容中,我想使用计时器来关闭类的窗口/对象,并创建一个新的对象和类的窗口。 JFreeChart的动态功能似乎不适用于我正在使用的API,这是我给图形提供动态感觉的唯一方法。每分钟关闭并重新打开Java窗口
下面的代码是我目前主要的代码,但它所做的只是打开一个窗口,然后关闭它并在一分钟后打开一个新窗口。显然,这很清楚为什么会出现这种情况,但我似乎无法想出一个好方法来创建并删除定时器中的所有对象。
public static void main(final String[] args) throws Exception {
Scanner in = new Scanner(System.in);
final String host = "";
final String username = "";
final String password = "";
final String id = "testStream";
final GraphStream demo = new GraphStream("Dia Example graph", host, username, password, id);
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
new java.util.Timer().schedule(
new java.util.TimerTask() {
@Override
public void run() {
demo.setVisible(false);
demo.dispose();
try {
final GraphStream demo2 =new GraphStream("Dia Example graph", host, username, password, id);
demo2.pack();
RefineryUtilities.centerFrameOnScreen(demo2);
demo2.setVisible(true);
} catch (DataServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
},
60000);
}
}
定期重新创建窗口似乎是一个糟糕的主意。在窗口中重新创建面板将是一个更有用的解决方案。另外,你问过关于JFreeChart api的问题吗?看来你决定采取一种解决办法,这会给你带来另一个问题,而不是解决核心问题。 – unholysampler 2013-03-06 19:53:17