CompositeTest.java



import java.awt.*;

/** 図形の重ね合わせの実験 */

public class CompositeTest extends Canvas {

   /** コンストラクタ */

     public CompositeTest() {

          super();
          setSize( 200, 200 );
          setBackground( Color.white );
     }

   /** 描画メソッド */

     public void paint( Graphics g ) {

          g.setColor( Color.orange );
          g.fillArc( 50, 50, 100, 100, 0, 360 );
          AlphaComposite ac = AlphaComposite.getInstance(
                               AlphaComposite.SRC_OVER, 0.5f );
          ((Graphics2D)g).setComposite( ac );
          g.setColor( Color.blue );
          g.fillRect( 0, 100, 200, 200 );
     }

  /** 最初に呼び出されるメソッド */

     public static void main( String argv[] ) {

          Frame frame = new Frame( "Composite Test" );  
          CompositeTest canvas = new CompositeTest();  
          frame.add( canvas, "Center" );
          frame.pack();
          frame.show();
     }
}