我想在面板中更改JSlider的值,而我正在运行一个Thread,它给我这个值(因为一些进展)
所以我在Thread中计算进度值,并且使用GET方法我在面板中获取值并想要将其设置为进度条。
调试后,有一个值,但编辑:[JProgressBar] 不会更改他的用户界面。
部分代码:
while(_thread.isAlive()) {
pb_calc.setValue(_thread.getVal());
pb_calc.updateUI();
}
答案 0 :(得分:4)
请勿使用updateUI
,此方法仅供Look and Feel
和UIManager
Background Tasks
的输出应该包含在invokeLater
中,更多内容见教程Concurency in Swing
最好从Background
或SwingWorker
Runnable#Thread
抓取