JavaGUI进度条

JavaGUI进度条,java,swing,user-interface,processbuilder,jprogressbar,Java,Swing,User Interface,Processbuilder,Jprogressbar,嗨,我正试图在我的java代码中实现一个进度条。我的java代码由图形用户界面组成,该界面通过processBuilder和streamGobbler运行可执行文件。当我为进度条实现此代码时: private void updateProgressBar(final int newValue){ SwingUtilities.invokeLater(new Runnable() { public void run(){ progressBar.s

嗨,我正试图在我的java代码中实现一个进度条。我的java代码由图形用户界面组成,该界面通过processBuilder和streamGobbler运行可执行文件。当我为进度条实现此代码时:

private void updateProgressBar(final int newValue){

    SwingUtilities.invokeLater(new Runnable() {
        public void run(){
            progressBar.setValue(newValue);
        }
    });

}
但是,当可执行文件在后台运行时,进度条似乎不会更新。我还为进度条实现了processbuilder,但这也不起作用。我应该怎么做才能让这个进度条正常工作


谢谢你

听起来像是你从EDT执行外部进程,或者你传递的
updateProgressBar
值无效…该值输入得很好,因为它是一个计数器变量,所以如果是通过EDT,我该怎么做?你可以使用后台线程来运行后台进程,比如一个SwingWorker提供的。谷歌“Swing中的并发”并查看第一个点击的重要细节。感谢您完成了这项工作。我需要做的是分离代码文件和计算,以便在外部程序运行完成时在后台运行。