自己写了个饼图小程序,运行时给了3个参数,但是运行结果是空白,请高手帮忙看一下问题出在哪里?package piegraph;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.geom.Arc2D;
import javax.swing.*;/**
 *
 * @author Administrator
 */
public class Pie extends JFrame{
    public Pie(String[] str){
        super("Pie");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(200, 200, 480, 300);
        PiePanel pie = new PiePanel(str);
        add(pie);
        setVisible(true);
    }    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        if(args.length > 0){
            Pie pie = new Pie(args);
    }}
}
class PiePanel extends JPanel{    String[] str;
    public PiePanel(String[] str) {
        this.str = str;
    }    @Override
    protected void paintComponent(Graphics g) {
        Graphics2D comp2D = (Graphics2D)g;
        comp2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        BasicStroke pen = new BasicStroke();
        comp2D.setStroke(pen);
        Color[] color = new Color[str.length];
        for(int i = 0;i < str.length;i++){
            color[i] = new Color(i*10,255-i*10,i*10);
        }
        int[] str1 = new int[str.length];
        int num = 0;
        for(int i = 0;i < str.length; i++){
            str1[i] = Integer.parseInt(str[i]);
            num +=str1[i];
        }
        
        float[] str2 = new float[str.length];
        for(int i = 0;i < str.length;i++){
            str2[i] = str1[i]/num;
        }
        
        int j = 0;
        for(int i = 0 ;i < str.length; i++){
            Arc2D.Float a = new Arc2D.Float(100,100,120,120,j,str2[i]*360,Arc2D.PIE);
            
            j += str2[i]*360; 
            comp2D.setColor(color[i]);
            comp2D.fill(a);
        }
        
    }
}