JTable等待指示器

时间:2011-08-18 11:16:44

标签: java swing jtable jprogressbar

我有一个带有JTable的java小程序。由于大量数据和较差的网络带宽,因此需要花费大量时间来执行任何操作,例如加载表或更改表。 我正在考虑添加一些活动指示器,让用户知道他的请求正在处理中。 在我使用JProgressBar之前,我想知道是否还有其他选项,如ajax活动花。

3 个答案:

答案 0 :(得分:4)

最简单的方法是设置(非动画)WAIT_CURSOR

// Setting cursor for any Component:
  component.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
  doProcessing();
  component.setCursor(Cursor.getDefaultCursor());

请参阅http://www.catalysoft.com/articles/busyCursor.html

对于动画光标,请参阅:

http://book.javanb.com/swing-hacks/swinghacks-chp-12-sect-2.html

答案 1 :(得分:3)

SwingWorker就是为此设计的,正如example中所述。特别是,“请注意,可以安全地从流程方法中改变tableModel,因为它是在事件调度线程上调用的。” - publish()

答案 2 :(得分:3)

您可以使用JBusyComponent。只需将表或Scrollpane包装在JBusyComponent中。但请记住在事件派发线程之外加载数据。为此,您可以使用其他答案中建议的SwingWorker。 JBusyComponent已经为此提供了一个BusySwingWorker。