我有一个GUI问题,我想要整理出来,但我很困惑,发生了什么,希望你能解释它。代码基地太大,无法上传,但我会详细解释发生了什么事情:Java GUI JProgressBar没有绘画
我有一个类ProgessBar
这是一个JDialog
包含一个摇摆JProgressBar
。我有一些getters和setter来改变酒吧到我的喜好,但这里出现问题。当用户点击该按钮
ProgressBar将一个方法myButtonActionPerformed
myButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
myButtonActionPerformed(evt);
}
});
基本上内部催生,处理开始并且ProgressBar
被衍生。
用户当前在它们前面有一个JFrame
,并且此进度条弹出一个JDialog
。在Netbeans中进入调试模式之后,我可以看到JProgressBar
的值发生了变化,但是当我的程序正在处理时,它的视觉保持在0%,然后在离开上面的添加动作侦听器方法时立即跳到100%,几乎就好像它正在等待重画,直到从那个聆听者那里出来。我不了解什么?有什么我可以调用,这将迫使它在这个myButtonActionPerformed
方法内更新,而不是等到它没用。
非常感谢,这听起来很合理。我查了一下你给我的一些东西,发现这个链接对将来通过这个论坛主题进行查看的任何人都很有用:http://java.sun.com/developer/technicalArticles/javase/swingworker/#EDT – Ryan 2010-07-01 03:20:39
@瑞恩:是的,我应该提到'SwingWorker'。道歉。是的,我想这个链接可以让你在这里找到正确的方向。 – Joey 2010-07-01 03:31:31