请问一下各路牛人,怎样实现一个进度条也了解一点是在ProgressBar里搞,但不知道详细的方法希望能得到高人们的指点。  给出相应的代码。。

解决方案 »

  1.   

    OReilly java swing中的一个例子import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class ProgressBarExample extends JPanel {  JProgressBar pbar;
      static final int MY_MINIMUM=0;
      static final int MY_MAXIMUM=100;  public ProgressBarExample( ) {
         pbar = new JProgressBar( );
         pbar.setMinimum(MY_MINIMUM);
         pbar.setMaximum(MY_MAXIMUM);
         add(pbar);
      }  public void updateBar(int newValue) {
        pbar.setValue(newValue);
      }  public static void main(String args[]) {     final ProgressBarExample it = new ProgressBarExample( );     JFrame frame = new JFrame("Progress Bar Example");
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
         frame.setContentPane(it);
         frame.pack( );
         frame.setVisible(true);     for (int i = MY_MINIMUM; i <= MY_MAXIMUM; i++) {
           final int percent=i;
           try {
             SwingUtilities.invokeLater(new Runnable( ) {
                 public void run( ) {
                   it.updateBar(percent);
                 }
             });
             java.lang.Thread.sleep(100);
           } catch (InterruptedException e) {;}
         } 
      }
    }
      

  2.   

    JProgressBar默认显示有界区间整数值的组件。进度条通常通过显示某个操作的完成百分比,可能是此百分比的一个文本显示来传达其进度。 要指示正在执行一个未知长度的任务,可以将进度条设置为不确定模式。不确定模式的进度条持续地显示动画来表示正进行的操作。一旦可以确定任务长度和进度量,则应该更新进度条的值,将其切换回确定模式。 下面是一个创建进度条的示例,其中 task 为返回关于某个操作进度信息的对象: progressBar = new JProgressBar(0, task.getLengthOfTask());
    progressBar.setValue(0);
    progressBar.setStringPainted(true);
    下面是更新进度条值的示例: 
      

  3.   

    来个特别的吧,呵呵
    package com.gui;import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JProgressBar;
    import javax.swing.SwingUtilities;public class SwingProgressBarExample extends JPanel { JProgressBar pbar; static final int MY_MINIMUM = 0; static final int MY_MAXIMUM = 100; public SwingProgressBarExample() {
    pbar = new JProgressBar(JProgressBar.VERTICAL);
    pbar.setMinimum(MY_MINIMUM);
    pbar.setMaximum(MY_MAXIMUM);
    add(pbar);
    } public void updateBar(int newValue) {
    pbar.setValue(newValue);
    } public static void main(String args[]) { final SwingProgressBarExample it = new SwingProgressBarExample(); JFrame frame = new JFrame("Progress Bar Example");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setContentPane(it);
    frame.pack();
    frame.setVisible(true); for (int i = MY_MINIMUM; i <= MY_MAXIMUM; i++) {
    final int percent = i;
    try {
    SwingUtilities.invokeLater(new Runnable() {
    public void run() {
    it.updateBar(percent);
    }
    });
    java.lang.Thread.sleep(100);
    } catch (InterruptedException e) {
    ;
    }
    }
    }
    }