gradienttest.java

来自「java learn PPT java learn PPT java learn」· Java 代码 · 共 57 行

JAVA
57
字号
     import java.applet.*;
     import java.awt.*;
     import java.awt.geom.*; 
     import java.util.*;
          
     public class GradientTest extends Applet 
     {  
          // 要绘制的Polygon 
          private Polygon poly;
 
          // 定义绘制的2个端点
          private Point2D p1;
          private Point2D p2;

          public void init()
          {
               // 两个圆的半径
               final float[] radii = { 10.0f, 20.0f };

               // 开始的点和每一小块的增量
               double radians = 0.0;
               final double increment = Math.toRadians(15.0);

               poly = new Polygon();

               // 形状由两个圆周上的交替的两个点决定
               // 由于我们按15度递增,所以我们可以在形状内放置24个点
               for(int i = 0; i < 24; i++)
               {                    
                    poly.addPoint((int)(radii[i%2]*Math.cos(radians)), 
                                  (int)(radii[i%2]*Math.sin(radians)));

                    radians += increment;
               }

               // 设置绘制的终点. 这些值会被 Graphics2D 对象缩放
               p1 = new Point2D.Float(0.0f, +20.0f);
               p2 = new Point2D.Float(0.0f, -20.0f);
          }

          public void paint(Graphics g)
          {
               // 转换为一个可用的 Graphics2D 对象
               Graphics2D g2d = (Graphics2D)g;

               AffineTransform at = new AffineTransform();
               at.translate(100,100);
               at.scale(5, 5);

               // 绘制形状              
               g2d.setTransform(at);
               g2d.setPaint(new GradientPaint(p1, Color.ORANGE, p2, Color.GREEN));
               g2d.fill(poly);
          }

     }    // GradientTest

⌨️ 快捷键说明

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