⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shape2d.java

📁 精通Java核心技术源代码
💻 JAVA
字号:
import java.awt.*;
import java.util.*;
import java.awt.geom.*;
import javax.swing.*;

public  class Shape2d extends JFrame
{
    	public Shape2d()
     	{
		super("drawing 2d shapes");
		setSize(600,600);
           	show();
        }

     	public void paint(Graphics g)
     	{
           	int xpoint[] = {55 ,67 ,109 ,73 ,83,55, 27 ,37 ,1, 43};
        	int ypoint[] = {0, 36,36,54,96,72,96,54,36,36};

         	Graphics2D g2 = (Graphics2D) g;
         	g2.setColor(Color.red);
        	g2.translate(100,50);
  	      	g2.rotate((45*java.lang.Math.PI)/180); // radians=degree * pie / 180
 	     	g2.fillRect(0,0,100,100);
 	      	g2.setTransform(new AffineTransform());
  	     	AlphaComposite ac =
        	AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.5f);
  	      	g2.setComposite(ac);
 	      	g2.setColor(Color.green);
  	   		g2.fillRect(50,0,100,100);
  	      	g2.setColor(Color.blue);
  	      	g2.fillRect(125,75,100,100);
  	       	g2.setColor(Color.yellow);
	   	  	g2.fillRect(50,125,100,100);
  	       	g2.setColor(Color.pink);
  	      	g2.fillRect(-25,75,100,100);
  	      	GeneralPath p = new GeneralPath();
  	     	p.moveTo(xpoint[0], ypoint[0]);
  	      	for (int i=1;i<xpoint.length;i++)
  	      	p.lineTo(xpoint[i], ypoint[i]);
  	      	p.closePath();
  	      	g2.setColor(Color.CYAN);
  	      	g2.translate(200,200);
  	      	g2.draw(p);
	     	int w = getSize().width;
        	int h = getSize().height;

         	// 创建一个椭圆,并将它设为clipping path
        	Ellipse2D e = new Ellipse2D.Float(w/8,h/8,w/8,h/8);
         	g2.setClip(e);
         	g2.setColor(Color.cyan);
        	g2.fillRect(0,0,w,h);

          	// 修改clipping path
          	// 将它设为当前clip和一个新矩形的交集
         	Rectangle r = new Rectangle(w/8+10,h/8+10,w/8-20,h/8-20);
        	g2.clip(r);

          	// 填充画布
         	// 只有新clip内的区域才被填充
         	g2.setColor(Color.magenta);
 	      	g2.fillRect(0,0,w,h);
	  	}

	   	public  static  void main(String arg[])
	   	{
		 	Shape2d app = new Shape2d();
	  	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -