2012-12-24 35 views
0

我已经建立了一个小型的Java应用程序,它用于更新产品的价格,数量和特殊优惠等在MySQL数据库上,使用CSV文件作为输入,我从封闭的计算机系统我的父亲电器零售业务。更新JProgressBar从不同的类

除了进度条之外,我已经可以工作了。我不能为我的生活找出如何将JProgressBar放入我的应用程序中,因为它的设置。在软件工程学位的前6个月,我对编程相对比较陌生。

基本上,我有3类: 数据库(执行与MySQL数据库的所有交互) 更新器(解释.csv文件,并与数据库模块执行的功能交互它通过循环从.csv文件创建的数组,并更新记录。 ) GUI(基本gui,由JFrame,JPanel,用于数据库登录和.csv文件浏览的按钮和文本字段组成)

GUI创建数据库实例,使用其文本字段作为输入,传递给以及也由GUI创建的更新器类的实例。

在这个项目中,我应该插入一个进度条,或者我应该更改关于我的项目的设置以允许这个?

我们将非常感谢您的帮助,我卡住了,并且搜索了互联网,找不到适合我的情况的进度条功能。

并请宽容我:P我知道我在整个事情笑

感谢,威尔逊的设置可能已经做出根本性的错误。

回答

0

进度条肯定是GUI组件,所以它可能属于哪里?但是它经常会显示您自己的非Swing线程(在Swing线程冻结GUI控件中执行太多操作)中发生的事情的进度。您无法直接从非Swing线程触摸进度条。使用invokeLaterinvokeAndWait将其向前移动。为了避免内存垃圾,可以重复使用相同的Runnable,将想要的进度分配给内部字段。

Runnable doProgress = new Runnable() { 

    int progress = 0; 

    public void run() { 
     myProgressBar.setValue(progress++); 
    } 
}; 
// do something 
SwingUtilities.invokeLater(doProgress); 
// do more 
SwingUtilities.invokeLater(doProgress);