//EJEMPLO DE SOBREPOSICION DE IMAGENES import java.awt.*; import java.awt.event.*; import java.awt.image.*; import ju.ch09.MyMenu; import ju.ch09.MyMenuBar; public class Composite extends Frame { static float alpha = 0.5f; static final int width = 600; static final int height = 400; MyMenuBar menuBar; EventHandler eh = new EventHandler(); public static void main(String args[]){ if(args.length>0) alpha = (new Float(args[0])).floatValue(); Composite app = new Composite(); } public Composite() { super("Composite"); setupMenuBar(); add("Center",new MyCanvas()); setSize(width,height); addWindowListener(eh); show(); } void setupMenuBar(){ Object menuItems[][] = {{"File","Exit"}}; menuBar = new MyMenuBar(menuItems,eh,eh); setMenuBar(menuBar); } class MyCanvas extends Canvas { public void paint(Graphics graphics) { Graphics2D g = (Graphics2D) graphics; AlphaComposite composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER,alpha); g.setComposite(composite); Toolkit toolkit = Toolkit.getDefaultToolkit(); Image image0 = toolkit.getImage("image0.gif"); Image image1 = toolkit.getImage("image1.gif"); g.drawImage(image0,200,100,this); g.drawImage(image1,100,150,this); } } class EventHandler extends WindowAdapter implements ActionListener, ItemListener { public void actionPerformed(ActionEvent e){ String selection=e.getActionCommand(); if("Exit".equals(selection)){ System.exit(0); } } public void itemStateChanged(ItemEvent e){ } public void windowClosing(WindowEvent e){ System.exit(0); } } }