Java 在其他类中更改jprogressbar
我有一个项目,我想通过另一个类的调用来更改progressbar的值。 我如何实现这一点Java 在其他类中更改jprogressbar,java,jprogressbar,Java,Jprogressbar,我有一个项目,我想通过另一个类的调用来更改progressbar的值。 我如何实现这一点 static class ButtonActionListener implements ActionListener { @Override public void actionPerformed( ActionEvent e ) { new Thread( new Runnable() { @Override public void run()
static class ButtonActionListener implements ActionListener {
@Override public void actionPerformed( ActionEvent e ) {
new Thread( new Runnable()
{
@Override public void run()
{
for ( int i = 1; i <= bar.getMaximum(); ++i )
{
final int j = i;
SwingUtilities.invokeLater( new Runnable()
{
@Override public void run() {
bar.setValue( j );
}
} );
}
}
} ).start();
}
}
静态类按钮ActionListener实现ActionListener{
@覆盖已执行的公共无效操作(ActionEvent e){
新线程(newrunnable())
{
@重写公共无效运行()
{
对于(inti=1;i,您可以调用bar.setValue(…)
来更改进度
但是,请注意您只能通过在Swing事件侦听器线程上运行的代码安全地执行此操作。从另一个线程调用此方法可能会导致偶尔发生、难以测试和跟踪的模糊故障
使用SwingUtilities.invokeLater(…)
进行更改是正确的方法。您可以从任何有权访问栏
引用的代码中执行此操作。例如,您可以通过getter公开它。请发布您的代码,以便我们可以帮助您查找错误。实际上,这是我更改值的代码。现在,我想从其他类调用此方法。