import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JProgressBar;public class TestJprogressBar extends Thread implements ActionListener { private JProgressBar jpb = new JProgressBar(JProgressBar.HORIZONTAL, 0, 100); public TestJprogressBar() { JFrame jf = new JFrame("进度条/线程");
jf.setLayout(new FlowLayout()); JButton jb = new JButton("点击开始计时");
jb.addActionListener(this);
jpb.setBorderPainted(true);
jpb.setBackground(Color.PINK);
jpb.setStringPainted(true);
jf.add(jpb);
jf.add(jb);
jf.setSize(320, 160);
jf.setLocation(100, 100);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} public static void main(String[] args) {
new TestJprogressBar(); } public void actionPerformed(ActionEvent e) {
this.start();
} public void run() {
for (int i = 0; i <= 100; i++) {
jpb.setString("正在安装" + i + "%");
jpb.setValue(i);
try {
Thread.sleep(100);
} catch (Exception e) {
e.printStackTrace();
}
}
}}
这是进度条代码,那么我有一个方法getInformation(),这个方法将处理复杂的后台程序,用时比较长,在这个方法运行的时候我想用进度条在界面显示这个程序的进度,请问进度条代码怎么用在这个方法中!谢谢!
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JProgressBar;public class TestJprogressBar extends Thread implements ActionListener { private JProgressBar jpb = new JProgressBar(JProgressBar.HORIZONTAL, 0, 100); public TestJprogressBar() { JFrame jf = new JFrame("进度条/线程");
jf.setLayout(new FlowLayout()); JButton jb = new JButton("点击开始计时");
jb.addActionListener(this);
jpb.setBorderPainted(true);
jpb.setBackground(Color.PINK);
jpb.setStringPainted(true);
jf.add(jpb);
jf.add(jb);
jf.setSize(320, 160);
jf.setLocation(100, 100);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} public static void main(String[] args) {
new TestJprogressBar(); } public void actionPerformed(ActionEvent e) {
this.start();
} public void run() {
for (int i = 0; i <= 100; i++) {
jpb.setString("正在安装" + i + "%");
jpb.setValue(i);
try {
Thread.sleep(100);
} catch (Exception e) {
e.printStackTrace();
}
}
}}
这是进度条代码,那么我有一个方法getInformation(),这个方法将处理复杂的后台程序,用时比较长,在这个方法运行的时候我想用进度条在界面显示这个程序的进度,请问进度条代码怎么用在这个方法中!谢谢!
解决方案 »
- 在Java核心技术卷一遇到的一个文件输入问题,书中的源码如下,但在Scanner in = new Scanner(stream)处初始化出错,请各位帮忙看看
- 跪求Jprofiler6.2.3 10天的试用License!谢谢!
- ConcurrentModificationException问题?
- 怎么样在java中获取某个jsp或者servlet对应的当前线程个数?
- 求助~~关于用jai制作图片水印的问题
- JAVA中关于密码显示的问题
- 怎样制作弹出菜单(pop-up menu)?
- 有关JNDI的问题
- 标准送分题
- apache+tomcat配置成功,但只有http://localhost/examples能用,为什么(shenzhipeng)
- 大家为我抉择
- 问个不知道怎么回事的问题,前辈不要笑话啊
void getInformation(){
....
count = 1
....
count = 5
....
..
count = 100;
end;}。当然此方法比较笨拙。
如果楼主的doSomenthing()方法是一个读入数据的方法,想要显示进度条,可以采用ProgressMonitorInputStream这个类来做,很简单就能实现。 最后真要不行,只能采用JProcessBar的显示不确定进度条的方法了,别的应该也没什么好方法了。