// Create an AWT-based application // (Java 1.1 version that uses the delegation event model.) import java.awt.*; import java.awt.event.*; import java.applet.*; // Create a frame window. public class AppWindow extends Frame { String keymsg = ""; String mousemsg = ""; int mouseX=30, mouseY=30; public AppWindow() { addKeyListener( new MyKeyAdapter( this ) ); addMouseListener( new MyMouseAdapter( this ) ); addWindowListener( new MyWindowAdapter()); } public void paint( Graphics g ) { g.drawString( keymsg, 10, 40 ); g.drawString( mousemsg, mouseX, mouseY ); } // Create the window. public static void main( String args[] ) { AppWindow appwin = new AppWindow(); appwin.setSize( new Dimension( 300, 200 ) ); appwin.setTitle("An AWT-Based Application"); appwin.setVisible( true ); } } class MyKeyAdapter extends KeyAdapter { AppWindow appWindow; public MyKeyAdapter( AppWindow appWindow ) { this.appWindow = appWindow; } public void keyTyped( KeyEvent ke ) { appWindow.keymsg += ke.getKeyChar(); appWindow.repaint(); } } class MyMouseAdapter extends MouseAdapter { AppWindow appWindow; public MyMouseAdapter( AppWindow appWindow ) { this.appWindow = appWindow; } public void mousePressed( MouseEvent me ) { appWindow.mouseX = me.getX(); appWindow.mouseY = me.getY(); appWindow.mousemsg = "Mouse Down at " + appWindow.mouseX + ", " + appWindow.mouseY; appWindow.repaint(); } } class MyWindowAdapter extends WindowAdapter { public void windowClosing( WindowEvent we ) { System.exit(0); } }