进度条的使用,我的编程中一直没有使用到这个组件,但是应该其在程序的启动过程中是非常重要的一个组件。
 1 ////////////////////////////////////////////////////////////////////////////////////////////
 2 //
 3 //  @name TestJProgressBar.java
 4 //
 5 //  @discription 进度条演示程序
 6 //
 7 //  @author hcm
 8 //
 9 //  @date 2006-12
10 //
11 /////////////////////////////////////////////////////////////////////////////////////////////
12 import java.awt.BorderLayout;
13 import java.awt.Dimension;
14 import javax.swing.*;
15 import java.awt.event.*;
16 import javax.swing.event.ChangeEvent;
17 import javax.swing.event.ChangeListener;
18 
19 public class TestJProgressBar implements ActionListener ,ChangeListener
20 {
21     private JPanel panel;
22     private Timer timer;
23     private JButton btn;
24     private JProgressBar pgb;
25     private JLabel label;
26     public void init()
27     {
28          panel = new JPanel();
29          btn = new JButton("start");
30          btn.addActionListener(this);
31          panel.add (btn,BorderLayout.CENTER);
32          
33          timer = new Timer(100,this);
34          
35          pgb = new JProgressBar();
36          pgb.setOrientation (JProgressBar.HORIZONTAL);
37          pgb.setMaximum (100);
38          pgb.setMinimum (0);
39          pgb.setValue (0);
40          pgb.setStringPainted (true);
41          pgb.addChangeListener (this);
42          pgb.setPreferredSize (new Dimension(400,20));
43          
44          label = new JLabel("");
45      
46         JFrame frame = new JFrame("test");
47         frame.add (panel,BorderLayout.NORTH);
48         frame.add (pgb,BorderLayout.CENTER);
49         frame.add (label,BorderLayout.SOUTH);    
50         frame.setSize(400,100);
51         frame.setVisible (true);
52         frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
53     }
54     public static void main(String args[])
55     {
56         new TestJProgressBar().init ();      
57     }
58     public void actionPerformed(ActionEvent e)
59     {
60         if(e.getSource ()==btn)
61         {
62             timer.start ();
63             System.out.println ("come here!");
64         }
65         if(e.getSource ()==timer)
66         {
67             System.out.println ("come here too!");
68            int value = pgb.getValue () ;
69            if(value<100)
70            {
71                value++;
72                pgb.setValue (value);
73            }
74            if(value ==100)
75            {
76                timer.stop ();
77                pgb.setValue (0);
78            }
79             
80         }
81     }
82     public void stateChanged(ChangeEvent e)
83     { 
84          System.out.println ("come here too2!");
85         if(e.getSource ()==pgb)
86         {
87              int value = pgb.getValue ();  
88             label.setText ("以完成:"+value+"%");
89         }
90     }
91 }
posted on 2007-02-06 16:21 -274°C 阅读(625) 评论(1)  编辑  收藏 所属分类: JAVA


FeedBack:
# re: 进度条演示程序
2007-02-06 16:42 | sdasdsdasd
asdasdasdasd  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 

常用链接

留言簿(21)

随笔分类(265)

随笔档案(242)

相册

JAVA网站

关注的Blog

搜索

  •  

积分与排名

  • 积分 - 909113
  • 排名 - 40

最新评论