我的程序中有一个设置选项卡。您可以在此处设置的数据不仅可以从此面板更改。这就是我想每5秒重新加载这些数据的原因。我认为这必须使用额外的Thread完成,但我对Threads的了解很少。为此,我已经有了重装方法。
我应该怎么做才能做到这一点(以及......)?
答案 0 :(得分:5)
但我对线程的了解很少......
paintComponent(...)
方法中绘制GUI的数据图形表示,或者更好,在BufferedImage中绘制,然后显示在paintComponent(...)
内。ScheduledExecutorService
,每隔5秒就会请求并获取新数据。repaint()
。如果使用SwingWorker,进程/发布方法对可以帮助解决这个问题。您可以使用此函数将数据发布到Swing事件线程。答案 1 :(得分:4)
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
scheduler.scheduleAtFixedRate(yourRunnable, 5, 5, SECONDS);
然后在JPanel
中重新加载yourRunnable
(只需按照JavaDocs中的示例)。
答案 2 :(得分:0)
您可以使用Timer
定期更新数据。