java的进度条的使用方法

本文主要对java小程序的进度条的做法,用代码线程模拟在线升级程序,实践是一个确定性的效果。如果progressbar.setindeterminate价值(假)设置为真


进口java AWT *;

导入java awt事件*。。;

进口javax.摆动。*;



公共类的进步扩展JFrame {

私有静态最终长1l serialVersionUID =;

/ main方法。

public static void main(String { } args){

类对象。

进度帧=新的进度();

frame.setvisible(真的);

}

构建方法。

公共进展(){

窗口系列集。

超级();

GetContentPane(),SetLayout(新网格包布局管理器());

settitle(实践的进度条!;

窗口(100100500375);

窗口(100100266132);

setdefaultcloseoperation(JFrame。exit_on_close);



设置文本标签。

最后的JLabel标签=新方法();

label.setforeground(新的颜色(255,0,0));

label.setfont(新字体(

label.settext(欢迎使用在线升级功能!;

最后,新自自自();

自格子= 0;

自gridx = 0;

GetContentPane(),添加(标签,自);



创建对象的进度。

最后jprogressbar ProgressBar =新jprogressbar();

progressbar.setstringpainted(true); / /设置显示信息。

progressbar.setindeterminate(假); / /不确定进度条。

progressbar.setstring(升级…); / /设置消息。

创建布局对象。

最后自gridbagconstraints02 =新自();

gridbagconstraints02。插图=新的插图(5,0,0,0);

gridbagconstraints02格子= 1;

gridbagconstraints02 gridx = 0;

进度条将进入窗口。

GetContentPane()加(ProgressBar,gridbagconstraints02);



创建一个完整的按钮。

最后JButton按钮=新JButton();

Button.setText(完成);

button.setenabled(假);

Button.addActionListener(新的action(){)

public void actionPerformed(ActionEvent e){

(0)system.exit;

}

});

创建布局对象。

最后自gridbagconstraints03 =新自();

gridbagconstraints03。插图=新的插图(10,0,0,0);

gridbagconstraints03格子= 2;

gridbagconstraints03 gridx = 1;

进度条将进入窗口。

GetContentPane()加(按钮,gridbagconstraints03);

启动线程。

新的代码(进度条,按钮)开始();

}





使用线程模拟在线升级任务。

类代码的线程{

创建一个数组,完成模拟。

私人最后progressvalue = { } { } 6,18,27,36,51,6188100;

私人jprogressbar ProgressBar; / /进度条。

私人JButton button;

构建方法。

公共代码(jprogressbar ProgressBar,JButton按钮){

这个进度条,进度条;

这个按钮=按钮;

}

设置/运行方法。

公共空运行(){

通过循环完成任务/比例。

为(int i = 0;i < progressvalue.length;i++){

尝试{

(1000)thread.sleep;

} catch(InterruptedException e){

E.printStackTrace();

}

progressbar.setvalue(progressvalue {我});;

}

progressbar.setindeterminate(假);

progressbar.setstring(升级完成!;

button.setenabled(真的);

}

}

}




运行结果: