@Override
 public void actionPerformed(ActionEvent e) {
   // TODO Auto-generated method stub
   if (e.getActionCommand().equalsIgnoreCase("Freedraw")) {
     canvas.setShape(0);
     pen.setPen(pen.getPen().getLineWidth(), BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
     canvas.setPen(pen);
     btnIcon = new ImageIcon("images/free_a.jpg");
     lblTool.setIcon(btnIcon);
   } else if (e.getActionCommand().equalsIgnoreCase("Line")) {
     canvas.setShape(1);
     pen.setPen(pen.getPen().getLineWidth(), BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
     canvas.setPen(pen);
     btnIcon = new ImageIcon("images/line_a.jpg");
     lblTool.setIcon(btnIcon);
   } else if (e.getActionCommand().equalsIgnoreCase("Rectangle")) {
     canvas.setShape(2);
     pen.setPen(pen.getPen().getLineWidth(), BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
     canvas.setPen(pen);
     btnIcon = new ImageIcon("images/rectangle_a.jpg");
     lblTool.setIcon(btnIcon);
   } else if (e.getActionCommand().equalsIgnoreCase("Square")) {
     canvas.setShape(3);
     pen.setPen(pen.getPen().getLineWidth(), BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
     canvas.setPen(pen);
     btnIcon = new ImageIcon("images/square_a.jpg");
     lblTool.setIcon(btnIcon);
   } else if (e.getActionCommand().equalsIgnoreCase("Oval")) {
     canvas.setShape(4);
     pen.setPen(pen.getPen().getLineWidth(), BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
     canvas.setPen(pen);
     btnIcon = new ImageIcon("images/ellipse_a.jpg");
     lblTool.setIcon(btnIcon);
   } else if (e.getActionCommand().equalsIgnoreCase("Circle")) {
     canvas.setShape(5);
     pen.setPen(pen.getPen().getLineWidth(), BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
     canvas.setPen(pen);
     btnIcon = new ImageIcon("images/circle_a.jpg");
     lblTool.setIcon(btnIcon);
   } else if (e.getActionCommand().equalsIgnoreCase("Text")) {
     canvas.setTextDialog(this);
     canvas.setShape(6);
     pen.setPen(pen.getPen().getLineWidth(), BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
     canvas.setPen(pen);
     btnIcon = new ImageIcon("images/text_a.jpg");
     lblTool.setIcon(btnIcon);
   } else if (e.getActionCommand().equalsIgnoreCase("Erase")) {
     canvas.setShape(7);
     pen.setPen(pen.getPen().getLineWidth(), BasicStroke.CAP_SQUARE, BasicStroke.JOIN_BEVEL);
     canvas.setPen(pen);
     btnIcon = new ImageIcon("images/erase_a.jpg");
     lblTool.setIcon(btnIcon);
   } else if (e.getActionCommand().equalsIgnoreCase("Fill")) {
     JToggleButton btn = (JToggleButton) e.getSource();
     styleBox.setMode(btn.isSelected());
     canvas.setMode(styleBox.getMode());
   } else if (e.getActionCommand().equalsIgnoreCase("PenColor")) {
     System.out.println(e.getActionCommand().toString());
     Color prevColor = lblColor.getBackground();
     Color newColor = JColorChooser.showDialog(this, "Choose Background Color", prevColor);
     pen.set_penColor(newColor);
     lblColor.setBackground(newColor);
     revalidate();
   } else if (e.getActionCommand().equalsIgnoreCase("Open")) {
     fileMenu.setCanvas(canvas);
     fileMenu.open();
   } else if (e.getActionCommand().equalsIgnoreCase("Save")) {
     fileMenu.setCanvas(canvas);
     fileMenu.save();
   } else if (e.getActionCommand().equalsIgnoreCase("SaveAs")) {
     fileMenu.setCanvas(canvas);
     fileMenu.saveAs();
   } else if (e.getActionCommand().equalsIgnoreCase("New")) {
     fileMenu.setCanvas(canvas);
     fileMenu.newCanvas();
   } else if (e.getActionCommand().equalsIgnoreCase("Exit")) {
     closeOperation();
   } else if (e.getActionCommand().equalsIgnoreCase("Connect")) {
     networkMenu.setCanvas(this, canvas);
     networkMenu.connect(this);
   } else if (e.getActionCommand().equalsIgnoreCase("Disconnect")) {
     networkMenu.setCanvas(this, canvas);
     networkMenu.disconnect(" left the session.");
   }
   revalidate();
   repaint();
 }