画各种线型
 private void drawLine(Graphics g) {
        Graphics2D g2d = (Graphics2D)g;
        Stroke st = g2d.getStroke();
        Stroke bs;
        //LINE_TYPE_DASHED
        bs = new BasicStroke(1, BasicStroke.CAP_BUTT,
                             BasicStroke.JOIN_BEVEL, 0,
                             new float[]{16, 4}, 0);
        g2d.setStroke(bs);
        g2d.drawLine(10, 10, 10, 500);        //LINE_TYPE_DOT
        bs = new BasicStroke(1, BasicStroke.CAP_BUTT,
                             BasicStroke.JOIN_BEVEL, 0,
                             new float[]{2, 6}, 0);
        g2d.setStroke(bs);
        g2d.drawLine(20, 10, 20, 500);        //LINE_TYPE_DOTDASHED
        bs = new BasicStroke(1, BasicStroke.CAP_BUTT,
                             BasicStroke.JOIN_BEVEL, 0,
                             new float[]{2, 4, 30, 4}, 0);
        g2d.setStroke(bs);
        g2d.drawLine(30, 10, 30, 500);        //LINE_TYPE_DOTDOTDASHED
        bs = new BasicStroke(1, BasicStroke.CAP_BUTT,
                             BasicStroke.JOIN_BEVEL, 0,
                             new float[]{2, 2, 2, 2, 20, 2}, 0);
        g2d.setStroke(bs);
        g2d.drawLine(40, 10, 40, 500);        //LINE_TYPE_PLAIN
        bs = new BasicStroke(1, BasicStroke.CAP_BUTT,
                             BasicStroke.JOIN_BEVEL, 0,
                             null, 0);
        g2d.setStroke(bs);
        g2d.drawLine(50, 10, 50, 500);        g2d.setStroke(st);
    }