我已经构建了一个小的java应用程序,它用于在mysql数据库中更新产品的价格,数量和特殊产品等,使用csv文件作为输入,我从父亲电器零售业务的封闭计算机系统接收
除了进度条,我还能正常工作。我不能为我的生活弄清楚如何将JProgressBar放入我的应用程序中,因为它的设置。在我的前6个月的软件工程学位课程中,我对编程相对较新。
基本上,我有3个班级: 数据库(执行与mysql db的所有交互) updater(解释.csv文件并与数据库模块交互以执行函数。它循环通过.csv文件创建的数组,并更新记录) GUI(一个基本的gui,由JFrame,JPanel,按钮和文本字段组成,用于数据库登录和浏览.csv文件)
GUI创建数据库实例,使用其文本字段作为输入,传递给更新程序类的实例,也由GUI创建。
我应该在这个项目的哪个位置插入一个进度条,或者我应该更改一下我的项目设置以允许这个?
我将非常感谢您的帮助,我陷入困境并在网上搜索过,无法找到合适的方式让进度条适用于我的情况。
请轻松告诉我:P我知道我可能在整个事情的设置中犯了根本错误lol
谢谢,威尔逊。
答案 0 :(得分:0)
进度条肯定是GUI组件,所以它还属于哪个?然而,它经常显示在您自己的非Swing线程中发生的事情的进展(在Swing线程中做太多冻结GUI控件)。您无法直接从非Swing线程触摸进度条。使用invokeLater或invokeAndWait向前移动。为了避免内存滥用,可以重复使用相同的Runnable,将所需的进度分配给内部字段。
Runnable doProgress = new Runnable() {
int progress = 0;
public void run() {
myProgressBar.setValue(progress++);
}
};
// do something
SwingUtilities.invokeLater(doProgress);
// do more
SwingUtilities.invokeLater(doProgress);