HOY_Transform.java



//EJEMPLO DE LA EDICION EN LOS GRAFICOS CON JAVA 2D API
import java.awt.*;
import java.awt.event.*;
import java.awt.font.*;
import java.awt.geom.*;
import java.awt.image.*;

public class Transform extends Frame {
 static final int width = 600;
 static final int height = 400;
 MyMenuBar menuBar;
 EventHandler eh = new EventHandler(); 
 public static void main(String args[]){
  Transform app = new Transform();
 }
 public Transform() {
  super("Transform");
  setupMenuBar();
  add("Center",new MyCanvas());
  setSize(width,height);
  addWindowListener(eh);
  setVisible(true);
 }
 void setupMenuBar(){
  Object menuItems[][] = {{"Archivo","Salir"}};
  menuBar = new MyMenuBar(menuItems,eh,eh);
  setMenuBar(menuBar);
 }
 class MyCanvas extends Canvas {
  public void paint(Graphics graphics) {
   Graphics2D g = (Graphics2D) graphics;
   AffineTransform transform = 
    AffineTransform.getRotateInstance(Math.PI/16.0d);
   g.setTransform(transform);
   Line2D.Double shape = 
    new Line2D.Double(0.0,0.0,300.0,300.0);
   g.draw(shape);
   g.setFont(new Font("Helvetica",Font.BOLD,24));
   String text = "Java 2D API";
   g.drawString(text,300,50);
   Toolkit toolkit = Toolkit.getDefaultToolkit();
   Image image = toolkit.getImage("image1.gif");
   g.drawImage(image,100,150,this);
  }
 }
 class EventHandler extends WindowAdapter implements ActionListener,
   ItemListener {
  public void actionPerformed(ActionEvent e){
   String selection=e.getActionCommand();
   if("Salir".equals(selection)){
    System.exit(0);
   }
  }
  public void itemStateChanged(ItemEvent e){
  }
  public void windowClosing(WindowEvent e){
   System.exit(0);
  }
 }
}