Source Code : Composite demo

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

Composite demo

Composite demo
  
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;

import javax.swing.JApplet;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Composite extends JApplet implements ItemListener {
  CompPanel comp;

  JLabel alphaLabel = new JLabel("Alphas");

  JLabel rulesLabel = new JLabel("Rules");

  JComboBox alphas = new JComboBox();

  JComboBox rules = new JComboBox();

  String alpha = "1.0";

  int rule = 0;

  public void init() {
    getContentPane().setLayout(new FlowLayout());
    getContentPane().add(alphaLabel);
    getContentPane().add(rulesLabel);

    alphas.addItem("1.0");
    alphas.addItem("0.75");
    alphas.addItem("0.50");
    alphas.addItem("0.25");
    alphas.addItem("0.0");
    alphas.addItemListener(this);
    getContentPane().add(alphas);

    rules.addItem("SRC");
    rules.addItem("DST_IN");
    rules.addItem("DST_OUT");
    rules.addItem("DST_OVER");
    rules.addItem("SRC_IN");
    rules.addItem("SRC_OVER");
    rules.addItem("SRC_OUT");
    rules.addItem("CLEAR");
    rules.addItemListener(this);
    getContentPane().add(rules);

    comp = new CompPanel();
    getContentPane().add(comp);

    validate();
  }

  public void itemStateChanged(ItemEvent e) {
    if (e.getStateChange() != ItemEvent.SELECTED) {
      return;
    }

    Object choice = e.getSource();
    if (choice == alphas) {
      alpha = (String) alphas.getSelectedItem();
    } else {
      rule = rules.getSelectedIndex();
    }
    comp.changeRule(alpha, rule);
  }

  public static void main(String s[]) {
    JFrame f = new JFrame("Composite");
    f.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        System.exit(0);
      }
    });
    JApplet applet = new Composite();
    f.getContentPane().add("Center", applet);
    applet.init();
    f.pack();
    f.setSize(new Dimension(300, 300));
    f.show();
  }
}

class CompPanel extends JPanel {

  AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC);

  float alpha = 1.0f;

  public CompPanel() {
    setPreferredSize(new Dimension(250, 250));
  }

  public void changeRule(String a, int rule) {
    alpha = Float.valueOf(a).floatValue();
    ac = AlphaComposite.getInstance(getRule(rule), alpha);
    repaint();
  }

  public int getRule(int rule) {
    int alphaComp = 0;
    switch (rule) {
    case 0:
      alphaComp = AlphaComposite.SRC;
      break;
    case 1:
      alphaComp = AlphaComposite.DST_IN;
      break;
    case 2:
      alphaComp = AlphaComposite.DST_OUT;
      break;
    case 3:
      alphaComp = AlphaComposite.DST_OVER;
      break;
    case 4:
      alphaComp = AlphaComposite.SRC_IN;
      break;
    case 5:
      alphaComp = AlphaComposite.SRC_OVER;
      break;
    case 6:
      alphaComp = AlphaComposite.SRC_OUT;
      break;
    case 7:
      alphaComp = AlphaComposite.CLEAR;
      break;
    }
    return alphaComp;
  }

  public void paintComponent(Graphics g) {
    super.paintComponent(g);
    Graphics2D g2 = (Graphics2D) g;

    Dimension d = getSize();
    int w = d.width;
    int h = d.height;

    BufferedImage buffImg = new BufferedImage(w, h,
        BufferedImage.TYPE_INT_ARGB);
    Graphics2D gbi = buffImg.createGraphics();

    g2.setColor(Color.white);
    g2.fillRect(0, 0, d.width, d.height);

    int rectx = w / 4;
    int recty = h / 4;

    gbi.setColor(new Color(0.0f, 0.0f, 1.0f, 1.0f));
    gbi.fill(new Rectangle2D.Double(rectx, recty, 150, 100));
    gbi.setColor(new Color(1.0f, 0.0f, 0.0f, 1.0f));
    gbi.setComposite(ac);
    gbi.fill(new Ellipse2D.Double(rectx + rectx / 2, recty + recty / 2,
        150, 100));

    g2.drawImage(buffImg, null, 0, 0);
  }
}


           
         
    
  

Thank with us