import java.awt.*; import java.awt.event.*; import javax.swing.*; public class homeWork4 extends JFrame implements MouseListener, MouseMotionListener//, ActionsListener; { private JLabel statusBar; static String ovalString = "Oval"; static String rectString = "Rectangle"; public homeWork4 () { super ("Home Work 4" ); statusBar = new JLabel (); JRadioButton ovalButton = new JRadioButton(ovalString); JRadioButton rectButton = new JRadioButton(rectString); Container c = getContentPane (); getContentPane ().add (statusBar); c.setLayout (new FlowLayout ()); // Create button add (new Button ("Clear")); addMouseListener ( this ); addMouseMotionListener ( this ); setSize ( 640, 480 ); show (); } public void mouseClicked (MouseEvent e) {} public void mouseEntered (MouseEvent e) {} public void mouseExited (MouseEvent e) {} public void mouseReleased (MouseEvent e) {} int lastX, lastY; boolean hasBeenClicked = false; public void mousePressed (MouseEvent e) { if(hasBeenClicked) { Graphics g = getGraphics (); g.setColor (Color.black); g.fillOval (lastX, lastY, e.getX () - lastX, e.getY () - lastY); g.drawRect (lastX, lastY, e.getX () - lastX, e.getY () - lastY); } lastX = e.getX (); lastY = e.getY (); hasBeenClicked = true; } public void mouseDragged ( MouseEvent e ) {} public void mouseMoved ( MouseEvent e ) {} public boolean action (Event evt, Object whatAction) { if(!(evt.target instanceof Button)) { return false; } else { repaint (); hasBeenClicked = false; return true; } } public static void main ( String args[] ) { homeWork4 app = new homeWork4 (); app.addWindowListener ( new WindowAdapter () { public void windowClosing ( WindowEvent e ) { System.exit ( 0 ); } } ); } }