renderingdemo10.java

来自「java 完全探索的随书源码」· Java 代码 · 共 71 行

JAVA
71
字号
// RenderingDemo10.java

import java.awt.*;

public class RenderingDemo10 extends java.applet.Applet
{
   public void paint (Graphics g)
   {
      Graphics2D g2 = (Graphics2D) g;

      RenderingHints rh = g2.getRenderingHints ();
      rh.put (RenderingHints.KEY_ANTIALIASING,
              RenderingHints.VALUE_ANTIALIAS_ON);
      g2.setRenderingHints (rh);
      
      int [] rules =
      {
         AlphaComposite.CLEAR,
         AlphaComposite.DST_IN,
         AlphaComposite.DST_OUT,
         AlphaComposite.DST_OVER,
         AlphaComposite.SRC,
         AlphaComposite.SRC_IN,
         AlphaComposite.SRC_OUT,
         AlphaComposite.SRC_OVER
      };

      String [] ruleNames =
      {
         "CLEAR",
         "DST_IN",
         "DST_OUT",
         "DST_OVER",
         "SRC",
         "SRC_IN",
         "SRC_OUT",
         "SRC_OVER"
      };

      int w = getSize ().width;

      int x = 40, y = 40;

      for (int i = 0; i < rules.length; i++)
      {
           g.setColor (Color.red);
           g.fillOval (x, y, 50, 50);

           Composite old = g2.getComposite ();

           g2.setComposite (AlphaComposite.getInstance (rules [i]));

           g.setColor (Color.green);
           g.fillOval (x + 30, y + 30, 30, 30);

           g2.setComposite (old);

           g.setColor (Color.black);
           g.drawString (ruleNames [i], x, y + 80);

           x += 100;

           if ((x + 100) >= w)
           {
               x = 40;
               y += 100;
           }
      }
   }
}

⌨️ 快捷键说明

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