直接画的没有,可以画两个多边形然后填充,画多边形的方法为:
int[] i1={100,200,300};
int[] i2={23,450,87};
g.drawPolygon(i1,i2,3);

解决方案 »

  1.   

    不过环型多边形可以通过设置线型大小来实现,如下:
    java.awt.Graphics2D g2d=(Graphics2D)g;
    int[] i1={100,200,300,250};
    int[] i2={23,50,207,193};
    g2d.setStroke(new java.awt.BasicStroke(10));
    g2d.drawPolygon(i1,i2,4);
      

  2.   

    我们现在用的你所说的方法。但这样有一个问题。
    假如对象A是一个环,B是A内圈中的一个对象,并且A、B不相交。按照要求无论A、B画的先后顺序如何,A、B都应该显示出来。可是按照这种画法,当先画B后画A的时候,B就给抹掉了。
      

  3.   

    java2d 两个Area subtract 一下完事
      

  4.   

    Area的几个方法是为了能作出复杂的图形而已,无法实现环形图象
    那跟drawPolygon有啥区别?!
      

  5.   

    用透明确实能解决问题!谢了: beyond_xiruo(乱谈情)