import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class SixB implements ActionListener
{
   int x = 0, y = 0;
   Drawing draw = new Drawing();
   JButton redButton = new JButton("Red");
   JButton greenButton = new JButton("Green");
   JFrame frame = new JFrame("Two Buttons and Mouse");
   
   public SixB()
   {
      JPanel topPanel = new JPanel();
      topPanel.add(redButton);
      topPanel.add(greenButton);
      frame.getContentPane().add(topPanel, "North");
      redButton.addActionListener(this);
      greenButton.addActionListener(this);
      frame.getContentPane().setBackground(Color.white);
      frame.getContentPane().add(draw, "Center");
      draw.addMouseListener(new MouseListen());
      frame.addWindowListener(new WindowListen());
      frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
      frame.setSize(400, 300);
      frame.setVisible(true);
   }

   class MouseListen extends MouseAdapter
   {
   
      public void mouseReleased(MouseEvent e)
      {
         x = e.getX();
         y = e.getY();
         draw.repaint();
      }
   }
   
   class WindowListen extends WindowAdapter
   {
      public void  windowClosing(WindowEvent e)
      {
         if (JOptionPane.showConfirmDialog(frame, "Are you sure you really want to quit?",
                                        "Exit Program?", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION)
            System.exit(0);
      }
   }
   
   public void actionPerformed(ActionEvent e)
   {
      if (e.getSource() == redButton)
         frame.getContentPane().setBackground(Color.red);
      else if (e.getSource() == greenButton)
         frame.getContentPane().setBackground(Color.green);
   }  
   
   public static void main(String[] args)
   {
      new SixB();
   }
   
   class Drawing extends JComponent
   {
      public void paint(Graphics g)
      {
         if (x == 0 && y == 0)
            g.drawString("Click the mouse", 10, 15);
         else
            g.drawString("You clicked here", x, y);
      }
   }
}