作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个主类,它有一个 JProgressBar
。在主类中,我创建了一个类的实例(名为 Opener
),它有一个方法可以读取通常很大的文本文件(>50000 行文本)。
我将 JProgressBar 的引用传递给读取 txt 文件的 Opener 类的方法,以便可以从 Opener 类访问进度条。
方法定义如下:
public void readtxtfile (JProgressBar myjProgressBar){....}
我这样调用方法:
Opener myopener = new Opener();
myopener.readtxtfile (jProgressBar1);
我知道对进度条的引用工作正常,因为我可以从那里将其设置为可见(创建主类时,进度条设置为不可见)。
在 readtxtfile
方法中,我在读取 txt 文件时更改了进度条的值。
myjProgressBar.setValue(mycounter);
myjProgressBar.revalidate();
myjProgressBar.repaint();
我的问题是进度条不会随着其值的变化而重新绘制。我该怎么办?
附言:当txt文件全部读取完成后,进度条终于刷新了。但是意味着它没有任何可见的事情发生。
最佳答案
这听起来更像是您试图从事件调度线程中读取文件,从而阻止它执行任何重绘。
可能最好的选择是使用 SwingWorker
在后台运行并加载文件的内容,并使用它的属性更改支持来更新进度。
关于java - 从另一个类访问时重绘进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21086267/
我对 NSButton 进行子类化并执行自定义绘图。我实现方法 -mouseDown 和 -mouseUp。当我执行短(快速)单击时,我的代码工作完美,但如果我按住鼠标左键一段时间然后释放它,方法 -
我是一名优秀的程序员,十分优秀!