可以参考一下 www.sharetop.com里的 webchart

解决方案 »

  1.   

    jfreechar
    http://sourceforge.net/
    查找,什么都有
      

  2.   

    j2sdk1.4.0_01\demo\applets\ArcTest<html>
      <head>
          <title>Arc Test (1.1)</title>
      </head>
      <body>
          <h1>Arc Test (1.1)</h1>
          <hr>
          <applet code=ArcTest.class width=400 height=400>
    alt="Your browser understands the &lt;APPLET&gt; tag but isn't running the applet, for some reason."
    Your browser is completely ignoring the &lt;APPLET&gt; tag!
          </applet>
          <hr>
          <a href="ArcTest.java">The source</a>.
      </body>
    </html>
    /*
     * @(#)ArcTest.java 1.7 01/12/03
     *
     * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
     * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
     */import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;/**
     * An interactive test of the Graphics.drawArc and Graphics.fillArc
     * routines. Can be run either as a standalone application by
     * typing "java ArcTest" or as an applet in the AppletViewer.
     */
    public class ArcTest extends Applet {
        ArcControls controls;   // The controls for ing and filling arcs
        ArcCanvas canvas;       // The drawing area to display arcs    public void init() {
    setLayout(new BorderLayout());
    canvas = new ArcCanvas();
    add("Center", canvas);
    add("South", controls = new ArcControls(canvas));
        }    public void destroy() {
            remove(controls);
            remove(canvas);
        }    public void start() {
    controls.setEnabled(true);
        }    public void stop() {
    controls.setEnabled(false);
        }    public void processEvent(AWTEvent e) {
            if (e.getID() == Event.WINDOW_DESTROY) {
                System.exit(0);
            }
        }    public static void main(String args[]) {
    Frame f = new Frame("ArcTest");
    ArcTest arcTest = new ArcTest(); arcTest.init();
    arcTest.start(); f.add("Center", arcTest);
    f.setSize(300, 300);
    f.show();
        }    public String getAppletInfo() {
            return "An interactive test of the Graphics.drawArc and \nGraphics.fillArc routines. Can be run \neither as a standalone application by typing 'java ArcTest' \nor as an applet in the AppletViewer.";
        }
    }class ArcCanvas extends Canvas {
        int startAngle = 0;
        int endAngle = 45;
        boolean filled = false;
        Font font;    public void paint(Graphics g) {
    Rectangle r = getBounds();
    int hlines = r.height / 10;
    int vlines = r.width / 10; g.setColor(Color.pink);
    for (int i = 1; i <= hlines; i++) {
        g.drawLine(0, i * 10, r.width, i * 10);
    }
    for (int i = 1; i <= vlines; i++) {
        g.drawLine(i * 10, 0, i * 10, r.height);
    } g.setColor(Color.red);
    if (filled) {
        g.fillArc(0, 0, r.width - 1, r.height - 1, startAngle, endAngle);
    } else {
        g.drawArc(0, 0, r.width - 1, r.height - 1, startAngle, endAngle);
    } g.setColor(Color.black);
    g.setFont(font);
    g.drawLine(0, r.height / 2, r.width, r.height / 2);
    g.drawLine(r.width / 2, 0, r.width / 2, r.height);
    g.drawLine(0, 0, r.width, r.height);
    g.drawLine(r.width, 0, 0, r.height);
    int sx = 10;
    int sy = r.height - 28;
    g.drawString("S = " + startAngle, sx, sy);
    g.drawString("E = " + endAngle, sx, sy + 14);
        }    public void redraw(boolean filled, int start, int end) {
    this.filled = filled;
    this.startAngle = start;
    this.endAngle = end;
    repaint();
        }
    }class ArcControls extends Panel
                      implements ActionListener {
        TextField s;
        TextField e;
        ArcCanvas canvas;    public ArcControls(ArcCanvas canvas) {
    Button b = null; this.canvas = canvas;
    add(s = new TextField("0", 4));
    add(e = new TextField("45", 4));
    b = new Button("Fill");
    b.addActionListener(this);
    add(b);
    b = new Button("Draw");
    b.addActionListener(this);
    add(b);
        }    public void actionPerformed(ActionEvent ev) {
    String label = ev.getActionCommand(); canvas.redraw(label.equals("Fill"),
                  Integer.parseInt(s.getText().trim()),
                  Integer.parseInt(e.getText().trim()));
        }
    }
      

  3.   

    如果你认为自己很牛,就去www.object-refinery.com去看看jfreechart
    如果你刚接触jfc/awt/swing,就用上边的程序将就一下吧
      

  4.   


    我再三推荐jfreeChart了:)
      

  5.   

    :),本人不牛!到今天学习java也有20天了!嘿嘿,经过努力我也自己找到jfreechart了,下来!以后研究几天,虽然对jcommon,jfreechart两个包里面的具体实现细节不了解,但是一般的调用没有问题了!
    今天下午刚刚搞定了!交给我我们部长了!哈哈,我们部长很高兴,让我提前2个月转正!我好幸福哦!
    谢谢上面的兄弟们!