//save the file as mylord.java //save the file as mylord.java //save the file as mylord.java //save the file as mylord.java import java.awt.Button; import java.awt.Checkbox; import java.awt.CheckboxGroup; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; class hangyo extends Frame implements MouseMotionListener,MouseListener,ItemListener,ActionListener { Graphics h; int x,y,X,Y,c; CheckboxGroup figure,colour; Checkbox pencil,pipe,cRed,cBlue,cYellow,cCyan,cBlack; ItemEvent ie,save_source; Button clear; hangyo() { h=null; setTitle("Just Drag and See"); setLayout(new FlowLayout()); setSize(1000,1000); setVisible(true); setBackground(Color.WHITE); addMouseMotionListener(this); addMouseListener(this); figure = new CheckboxGroup(); colour = new CheckboxGroup(); pencil = new Checkbox("Pencil",figure,false); pipe = new Checkbox("Pipe",figure,false); cRed = new Checkbox("Red",colour,false); cBlue = new Checkbox("BLue",colour,false); cYellow = new Checkbox("Yellow",colour,false); cCyan = new Checkbox("Cyan",colour,false); cBlack = new Checkbox("Black",colour,false); clear = new Button("Clear"); add(pencil); add(pipe); add(clear); add(cRed); add(cBlue); add(cYellow); add(cCyan); add(cBlack); pencil.addItemListener(this); pipe.addItemListener(this); clear.addActionListener(this); cCyan.addItemListener(this); cRed.addItemListener(this); cYellow.addItemListener(this); cBlue.addItemListener(this); cBlack.addItemListener(this); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent w) { System.exit(0); } }); } public void paint(Graphics g) { h=g.create(); } public void drawSomething() { if(ie.getSource()==pipe) h.drawOval(x-50,y-50, 100, 100); if(ie.getSource()==pencil) { h.drawLine(x, y, X, Y); X=x;Y=y; } } @Override public void mouseDragged(MouseEvent arg0) { // TODO Auto-generated method stub if(c==0) { X=x=arg0.getX(); Y=y=arg0.getY(); c=1; } x=arg0.getX(); y=arg0.getY(); drawSomething(); } @Override public void mouseMoved(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseClicked(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseEntered(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated method stub c=0; } @Override public void itemStateChanged(ItemEvent arg0) { // TODO Auto-generated method stub ie=arg0; if(arg0.getSource()==pencil || arg0.getSource()==pipe) save_source = arg0; if(arg0.getSource()==cCyan) h.setColor(Color.CYAN); if(arg0.getSource()==cRed) h.setColor(Color.red); if(arg0.getSource()==cYellow) h.setColor(Color.YELLOW); if(arg0.getSource()==cBlue) h.setColor(Color.BLUE); if(arg0.getSource()==cBlack) h.setColor(Color.BLACK); ie.setSource(save_source.getSource()); } @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub repaint(); } } class mylord { public static void main(String args[]) { new hangyo(); } }