【问题标题】:Java ProgressMonitorInputStream using existing JProgressBar使用现有 JProgressBar 的 Java ProgressMonitorInputStream
【发布时间】:2012-01-12 20:15:38
【问题描述】:

我只是在使用 Java 的 ProgressMonitorInputStream 来监视流经 BufferedInputStream 的数据。这是我目前正在尝试的代码:

InputStream in = new BufferedInputStream(
     new ProgressMonitorInputStream(
     new JFrame(),"Scanning",new FileInputStream(dir.getSearchInputFile())));

这工作得很好,并弹出一个带有进度条的新 JFrame 窗口,显示输入流的进度。

是否有办法让 ProgressMonitorInputstream 更新存在于另一个 JFrame 中的现有 JProgressBar?

我尝试了各种方法,例如使用构造函数传入 JProgressBar,或者尝试在参数中指定框架。每次尝试,我都会得到一个新的 JFrame。

这一切都错了吗?

任何意见将不胜感激。

谢谢

【问题讨论】:

    标签: java swing progress-bar inputstream progressmonitor


    【解决方案1】:

    进度被监控的SwingWorker 不在乎谁在听。只需在另一个框架中实现PropertyChangeListener接口,并将监听器添加到worker,如ProgressMonitorDemo所示。

    附录:作为一个具体的例子,给demo添加一个进度条:

    private JProgressBar bar = new JProgressBar();
    

    在面板的构造函数中添加:

    this.add(bar);
    

    在面板的propertyChange() 监听器中更新它:

    bar.setValue(progress);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多