想用J2SE画一个环,但是好像画不出来,我的方法是先画外面的一个大圆再画里面一个小圆,怎么才能弄好呢?读入的文件是MapInfo的MIF格式。<-不知道这个格式也无所谓,就是异或画一个环。怎么办呢?谢谢。

解决方案 »

  1.   

    ……
    没说清楚。
    J2SE里面没有画环这个方法吧,我想如果要画环,是外圆用环的颜色,内圆用底图的颜色这样的一种方式的吧。同上面那位弟兄说的,每条边连起来其实也可以,但是有没有方便点的方法可以直接弄出来。在缓冲区里面怎么取XOR的?
      

  2.   

    import java.awt.BorderLayout;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.RenderingHints;
    import java.awt.geom.Ellipse2D;
    import java.awt.geom.GeneralPath;import javax.swing.JFrame;
    import javax.swing.JPanel;public class T
    {
    public static void main(String[] args)
    {
    JPanel p = new JPanel() {
    protected void paintComponent(Graphics g) {
    super.paintComponent(g);

    Graphics2D g2d = (Graphics2D) g;
    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
    RenderingHints.VALUE_ANTIALIAS_ON);
    Ellipse2D e1 = new Ellipse2D.Double(10, 10, 100, 100);
    Ellipse2D e2 = new Ellipse2D.Double(20, 20, 80, 80); GeneralPath gp = new GeneralPath(e1);
    gp.setWindingRule(GeneralPath.WIND_EVEN_ODD);
    gp.append(e2, false);

    g2d.fill(gp);
    }
    };

    JFrame f = new JFrame();
    f.getContentPane().add(p, BorderLayout.CENTER);
    f.setSize(200, 200);
    f.setLocationRelativeTo(null);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setVisible(true);
      }
    }
      

  3.   

    To: gtlang78()
    牛,收了。
      

  4.   

    整天不能上网,今天看到,我去尝试一下。谢谢gtlang78先。