我想写一个程序,类似投票。就是根据提供的数字大小来画出进度条的长度。数字越大,进度条越长。最好能有源码。谢谢各位!

解决方案 »

  1.   

    JFreechart网上好多例子 自己google下
      

  2.   

    其实JFreechart用起来也不是很爽,样式不是很好看,如果你觉得自己NB可以自己画,自己定位坐标和勾勒图像,用BufferedImage来实现,但是很伤神。
      

  3.   

    不知道这个行不行?代码如下:
    import javax.swing.*;
    import javax.swing.event.*;
    //定义该类继承自JFrame
    public class Test extends JFrame implements ChangeListener
    {
    private static final long serialVersionUID = 1L;
    //创建JPanel容器
    private JPanel jp=new JPanel();
    //创建进度条与滑块
    private JProgressBar jpb=new JProgressBar(0,1000);
    private JSlider js=new JSlider(0,1000);
    //创建标签数组
    private JLabel[] jlArray={new JLabel("请拖动滑块"),new JLabel("进度指示条")};
    public Test()
    {
    //为容器JPanel设置布局管理器
    jp.setLayout(null);
    //设置标签的大小位置,并将标签添加进JPanel容器
    for(int i=0;i<jlArray.length;i++)
    {
    jlArray[i].setBounds(20,20+i*100,80,30);
    jp.add(jlArray[i]);
    }
    //设置滑块的大小位置
    js.setBounds(20,40,450,50);
    //将滑块添加进JPanel
    jp.add(js);
    //设置进度条的大小位置
    jpb.setBounds(20,150,450,26);
    //将进度条添加进容器JPanel
    jp.add(jpb);
    //设置滑块到绘制刻度标记以及主刻度标签的状态
    js.setPaintTicks(true);
    js.setPaintLabels(true);
    //分别设置主副刻度标记的间隔
    js.setMajorTickSpacing(200);
    js.setMinorTickSpacing(40);
    //为滑块注册ChangeEvent事件监听器
    js.addChangeListener(this);
    //设置进度条的初始值
    jpb.setValue(500);
    //设置进度条将显示信息字符串
    jpb.setStringPainted(true);
    //将JPanel添加进窗体
    this.add(jp);
    //设置窗体的标题、大小位置以及可见性
    this.setTitle("滑块与进度条示例");
    this.setResizable(false);
    this.setBounds(100,100,500,250);
    this.setVisible(true);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public void stateChanged(ChangeEvent e)
    {
    //设置当滑块滑动后进度条将指示滑块的当前值
    jpb.setValue(js.getValue());
    }
    public static void main(String[] args)
    {
    //创建Sample23_3窗体对象
    new Test();
    }
    }
      

  4.   

    JFreechart,方便,设置下数据源,一个图片就出来了
      

  5.   

    如果是 web 上用的话, 如果仅仅要进度条形式的话, 用 Html 的表格表示就好了