如何用java的swing,开发出带有进度条的对话框?请附带示范代码。谢谢。
1个回答
展开全部
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ProgressMonitor;
import javax.swing.Timer;
public class TestProgressMonitor
{
Timer timer;
public void init()
{
final SimulatedTarget target = new SimulatedTarget(1000);
//以启动一条线程的方式来执行一个耗时的任务
final Thread targetThread = new Thread(target);
targetThread.start();
//创建进度对话框
final ProgressMonitor dialog = new ProgressMonitor(null ,
"等待任务完成" , "已完成:" , 0 , target.getAmount());
//创建一个计时器
timer = new Timer(300 , new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//以任务的当前完成量设置进度对话框的完成比例
dialog.setProgress(target.getCurrent());
//如果用户单击了进度对话框的”取消“按钮
if (dialog.isCanceled())
{
//停止计时器
timer.stop();
//中断任务的执行线程
targetThread.interrupt();
//系统退出
System.exit(0);
}
}
});
timer.start();
}
public static void main(String[] args)
{
new TestProgressMonitor().init();
}
}
import java.awt.event.ActionListener;
import javax.swing.ProgressMonitor;
import javax.swing.Timer;
public class TestProgressMonitor
{
Timer timer;
public void init()
{
final SimulatedTarget target = new SimulatedTarget(1000);
//以启动一条线程的方式来执行一个耗时的任务
final Thread targetThread = new Thread(target);
targetThread.start();
//创建进度对话框
final ProgressMonitor dialog = new ProgressMonitor(null ,
"等待任务完成" , "已完成:" , 0 , target.getAmount());
//创建一个计时器
timer = new Timer(300 , new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//以任务的当前完成量设置进度对话框的完成比例
dialog.setProgress(target.getCurrent());
//如果用户单击了进度对话框的”取消“按钮
if (dialog.isCanceled())
{
//停止计时器
timer.stop();
//中断任务的执行线程
targetThread.interrupt();
//系统退出
System.exit(0);
}
}
});
timer.start();
}
public static void main(String[] args)
{
new TestProgressMonitor().init();
}
}
来自:求助得到的回答
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询