我正在尝试执行一个程序,该程序在为用户显示 GUI 后大约需要 6-7 秒 才能执行。这里的问题是用户必须等待 6-7 秒,而没有任何处理或进度通知。
所以我想做的是,当 MainApp ma = new MainApp(); 代码执行时,我想为用户显示一张 gif 图片说程序正在执行。显示图片的代码写在 ShowProgressPic spp = new ShowProgressPic();
我有一个名为 end 的 boolean 数据类型变量,它将在 MainApp() 构造函数的最后一条语句中设置为 true。当 MainApp ma = new MainApp(); 的执行结束时,我想停止显示 gif 图像。
请帮我解决这个问题。 谢谢。
最佳答案
假设您的问题涉及 Swing GUI,我建议您使用 SwingWorker 在后台线程中执行长效程序。然后当线程完成时,您有两种或多种方法从那里继续。您可以让 SwingWorker 在其 done 方法中调用代码以关闭进度显示,或者您可以让保存和执行 SwingWorker 的代码通过 PropertyChangeListener 监听 SwingWorker,并在状态属性为 SwingWorker.StateValue.DONE 时执行。
关于java - 在java中使用图像报告运行任务的进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6317626/