java从入门到精髓 -Swing高级JProgressBarTest进度条

import  java.awt.BorderLayout;
import  java.awt.FlowLayout;

import  javax.swing.JButton;
import  javax.swing.JFileChooser;
import  javax.swing.JFrame;
import  javax.swing.JLabel;
import  javax.swing.SwingConstants;
import  javax.swing.filechooser. * ;
import  javax.swing. * ;
public   class  JProgressBarTest   extends  JFrame{

    
public  JProgressBarTest() {
        
super ();
        setTitle(
" 表格 " );
        setBounds(
100 , 100 , 350 , 150 );
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
final  JButton button  =   new  JButton( "             " );
        
final  JButton button2  =   new  JButton( " 完成 " );
        button2.setEnabled(
false );  // 初始化时不可用
        button.setBounds( 100 , 100 , 100 , 100 );
        
        
final  JProgressBar progressBar  =   new  JProgressBar();
        progressBar.setStringPainted(
true );   // 显示提示信息
        progressBar.setIndeterminate( false );    // 确定进度的进度条
        
// progressBar.setIndeterminate(true);    // 不确定进度的进度条
        
// progressBar.setString("升级中...");     // 确定信息时加上此条,则提示升级中,没有%比,如是不加上这个,则会提示%
        setLayout( new  FlowLayout( 2 , 10 , 10 ));
        getContentPane().add(button);  
// 布局处理
        getContentPane().add(button2);   // 布局处理
        getContentPane().add(progressBar);   // 布局处理
         new  Progress(progressBar,button2).start();    // 自定义类progress
    }

    
/**
     * 
@param  args
     
*/
    
public   static   void  main(String[] args) {
        
//  TODO Auto-generated method stub
        JProgressBarTest jProgressBarTest  =   new  JProgressBarTest();
        jProgressBarTest.setVisible(
true );
    }

}
class  Progress  extends  Thread{ // 自定义类progress
     private   final   int  []progressValue  =  { 6 , 18 , 27 , 39 , 51 , 66 , 81 , 100 };
    
private  JProgressBar progressBar;
    
private  JButton button;
    
public  Progress(JProgressBar progressBar,JButton button)
    {
        
this .progressBar  =  progressBar;
        
this .button  = button;
    }
    
public   void  run()
    {
        
for ( int  i = 0 ;i < progressValue.length;i ++ )
        {
            
try
            {
                Thread.sleep(
1000 );
            }
catch (Exception e)
            {
                e.printStackTrace();
            }
            progressBar.setValue(progressValue[i]);  
// 进度值
        }
        progressBar.setIndeterminate(
false );   // 采用确定的进度条
        
// progressBar.setIndeterminate(true);    // 不确定进度的进度条
        progressBar.setString( " 升级完成. " );   // 提示信息
        button.setEnabled( true );   // 按钮可用
    }
}

 

转载于:https://www.cnblogs.com/maxblog/archive/2010/09/22/1833155.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值