//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();
}
}