taiji

来源:互联网 发布:小狐仙打印软件 编辑:程序博客网 时间:2024/06/13 06:53
package test1;import java.awt.Color;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.RenderingHints;import java.awt.Shape;import java.awt.geom.Area;import java.awt.geom.Ellipse2D;import java.awt.geom.Ellipse2D.Double;import java.awt.geom.Rectangle2D;import javax.swing.JPanel;public class taiji extends JPanel{    public taiji(){        super();    }    @Override    protected void paintComponent(Graphics g){        Graphics2D g2=(Graphics2D) g;        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);        //左右两个圆        Shape lefthalfCircle=new Ellipse2D.Double(10, 10, 300, 300);        Shape righthalfCircle=new Ellipse2D.Double(10, 10, 300, 300);        //内部两个小圆        Shape innerCircle1=new Ellipse2D.Double(85, 10, 150, 150);        Shape innerCircle2=new Ellipse2D.Double(85,160 , 150, 150);        //半边        Shape rectangel1=new Rectangle2D.Double(160, 10, 150, 300);        Shape rectangel2=new Rectangle2D.Double(10, 10, 150, 300);        //area 用于shape的组合        Area left=new Area(lefthalfCircle);        Area right=new Area(righthalfCircle);        Area area11=new Area(rectangel1);        Area area22=new Area(rectangel2);        left.subtract(area11);        right.subtract(area22);        Area inner1=new Area(innerCircle1);        Area inner2=new Area(innerCircle2);        left.add(inner1);        right.add(inner2);        //important 想想就好        right.subtract(inner1);        Shape minorWhiteCircle=new Ellipse2D.Double(150, 70, 20, 20);        Shape innerBlackCircle=new Ellipse2D.Double(150, 230, 20, 20);        g2.setPaint(Color.WHITE);        g2.fill(left);        g2.setPaint(Color.BLACK);        g2.fill(right);        g2.fill(minorWhiteCircle);        g2.setPaint(Color.WHITE);        g2.fill(innerBlackCircle);    }}
0 0
原创粉丝点击