我使用这个代码实现多线程:如何实现多线程的JFrame的
class Progress extends JFrame implements Runnable {
Thread t;
JProgressBar current;
JTextArea out;
JButton find;
Thread runner;
JFrame tframe;
int num = 0;
public Progress() {
t=new Thread(this,"Thread1");
t.start();
}
public void run()
{
tframe=new JFrame("Please wait");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel pane = new JPanel();
pane.setLayout(new FlowLayout());
current = new JProgressBar();
//current.setValue(0);
current.setStringPainted(true);
current.setIndeterminate(true);
pane.add(current);
setContentPane(pane);
tframe.add(pane);
tframe.pack();
tframe.setSize(300,100);
tframe.setResizable(false);
tframe.setAlwaysOnTop(true);
tframe.setLocation(300,300);
tframe.setVisible(true);
}
public void stop()
{
tframe.dispose();
}
,当我需要启动线程,我使用
Progress t=new Progress(); .
这显示帧,并停止我使用t.stop();但是,我没有得到所需的多线程效果。只显示框架,而不是无生命的进度条。请注意,当用作单个线程时会显示进度条;
这里必须做些什么?请帮忙,提前致谢
为了更快得到更好的帮助,请发布[SSCCE](http://pscode.org/sscce.html)。我猜测所有源代码都需要成为SSCCE,是一个'main(String [])'方法和一些导入。 – 2011-03-26 07:13:27