package 测试JProgressBar;import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JProgressBar;
public class TestProgressBar extends JApplet implements Runnable,ActionListener{
/**
*
*/
private static final long serialVersionUID = 1L;
Thread prothread;
JProgressBar progress;
public void init()
{
setLayout(new BorderLayout());
final ImageIcon image=new ImageIcon("测试JProgressBar\\1.GIF");
final JButton bt=new JButton("开始");
final JLabel lb=new JLabel(image);
progress=new JProgressBar(0,100);
progress.setStringPainted(true);
add(bt, "North");
add(lb, "Center");
add(progress, "South");
bt.addActionListener(this);
}
public void actionPerformed( ActionEvent e)
{
if(prothread==null||!prothread.isAlive())
{
prothread=new Thread("进度");
prothread.start();
System.out.print(prothread.isAlive());
System.out.print(prothread.toString());
}
}
@SuppressWarnings("static-access")
public void run()
{ for(int i=0;i<=100;i++)
{
progress.setForeground(Color.BLUE);
System.out.print("反对公司的" );
progress.setValue(progress.getValue()+1);
progress.setString(progress.getValue() + "% ");
try {
Thread.sleep(100);
} catch (final InterruptedException e) {
// TODO 自动生成 catch 块
System.out.print(false);
}
}
}
}
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JProgressBar;
public class TestProgressBar extends JApplet implements Runnable,ActionListener{
/**
*
*/
private static final long serialVersionUID = 1L;
Thread prothread;
JProgressBar progress;
public void init()
{
setLayout(new BorderLayout());
final ImageIcon image=new ImageIcon("测试JProgressBar\\1.GIF");
final JButton bt=new JButton("开始");
final JLabel lb=new JLabel(image);
progress=new JProgressBar(0,100);
progress.setStringPainted(true);
add(bt, "North");
add(lb, "Center");
add(progress, "South");
bt.addActionListener(this);
}
public void actionPerformed( ActionEvent e)
{
if(prothread==null||!prothread.isAlive())
{
prothread=new Thread("进度");
prothread.start();
System.out.print(prothread.isAlive());
System.out.print(prothread.toString());
}
}
@SuppressWarnings("static-access")
public void run()
{ for(int i=0;i<=100;i++)
{
progress.setForeground(Color.BLUE);
System.out.print("反对公司的" );
progress.setValue(progress.getValue()+1);
progress.setString(progress.getValue() + "% ");
try {
Thread.sleep(100);
} catch (final InterruptedException e) {
// TODO 自动生成 catch 块
System.out.print(false);
}
}
}
}
解决方案 »
- 求助:关于OutOfMemoryError
- 请问现在最新的java版本是哪个?
- 请问在jfreechart线图中,如何直接显示每个坐标点的数据,谢谢!!急
- 问个关于锁(synchronized)的问题
- 怎样把.JAR文件的图标换了?
- 小弟求教!!
- linux系统下,我用WINE安装了普通的QQ, 没见它的图标 请问我怎么运行它?到哪里找? 我连C盘也没找到,在哪儿?在线等!!谢谢
- 谁有InstallShield6.1远东安装包的安装密码?
- 用Graphic class 做图
- 关于synchronized用法的疑问
- Socket编程,不知道错那了,初学者,帮帮忙!开始启动后只能从发送一次信息,而且乱码,
- 数组的问题,这个程序麻烦各位帮我看以下,看了半天都不知道哪里有问题...
prothread.start();执行上面那个线程而run()方法是TestProgressBar 的方法
所以没有执行。
建议将
public void actionPerformed( ActionEvent e)
{
if(prothread==null||!prothread.isAlive())
{
prothread=new Thread("进度"); prothread.start();
System.out.print(prothread.isAlive());
System.out.print(prothread.toString()); }
}
修改为public void actionPerformed( ActionEvent e)
{
if(prothread==null||!prothread.isAlive())
{
prothread=new Thread("进度"){public void run()
{ for(int i=0;i <=100;i++)
{
progress.setForeground(Color.BLUE);
System.out.print("反对公司的" );
progress.setValue(progress.getValue()+1);
progress.setString(progress.getValue() + "% "); try {
Thread.sleep(100);
} catch (final InterruptedException e) {
// TODO 自动生成 catch 块
System.out.print(false);
}
} } }; prothread.start();
System.out.print(prothread.isAlive());
System.out.print(prothread.toString()); }
} 将原有run()删除