import java.applet.*;
import java.awt.*;
public class malen extends Applet{
Graphics zeichenbereich;
int last_x=0;
int last_y=0;
int a,b,c,d;
Button cButton;
Choice cChoice;
Choice aChoice;
Color zColor=Color.black;
int ak=1;
public void init(){
setBackground(Color.white);
setForeground(Color.green);
cButton=new Button("Neu!");
add(cButton);
cButton.resize (50,50);
cButton.setBackground(Color.black);
cButton.setForeground(Color.red);
cChoice=new Choice();
cChoice.addItem("Schwarz");
cChoice.addItem("Weiß");
cChoice.addItem("Blau");
cChoice.addItem("Rot");
cChoice.addItem("Gelb");
cChoice.addItem("Grün");
cChoice.setBackground(Color.black);
cChoice.setForeground(Color.red);
add(cChoice);
aChoice=new Choice();
aChoice.addItem("Freihand");
aChoice.addItem("Linie");
aChoice.addItem("Oval");
aChoice.addItem("Rechteck");
aChoice.addItem("Gefüllt Oval");
aChoice.addItem("Gefüllt Rechteck");
aChoice.addItem("Funny Line");
aChoice.addItem("Funny Box");
aChoice.addItem("Funny Oval");
aChoice.setBackground(Color.black);
aChoice.setForeground(Color.red);
add(aChoice);
}
public boolean mouseDown(Event theEvent,int x,int y){
last_x=x;
last_y=y;
return true;
}
public boolean mouseUp(Event theEvent,int x,int y){
zeichenbereich=getGraphics();
zeichenbereich.setColor(zColor);
if ((last_x-x)<0) {c=x-last_x;a=last_x;} else {c=last_x-x;a=x;}
if ((last_y-y)<0) {d=y-last_y;b=last_y;} else {d=last_y-y;b=y;}
if(ak==2) zeichenbereich.drawLine(x,y,last_x,last_y);
if(ak==3) zeichenbereich.drawOval(a,b,c,d);
if(ak==4) zeichenbereich.drawRect(a,b,c,d);
if(ak==5) zeichenbereich.fillOval(a,b,c,d);
if(ak==6) zeichenbereich.fillRect(a,b,c,d);
last_x=x;
last_y=y;
return true;
}
public boolean mouseDrag(Event theEvent,int x,int y){
if((ak==1)||(ak==7)){
zeichenbereich=getGraphics();
zeichenbereich.setColor(zColor);
zeichenbereich.drawLine(last_x,last_y,x,y);
if(ak==1){
last_x=x;
last_y=y;
}
}
if((ak==8)||(ak==9)){
zeichenbereich=getGraphics();
zeichenbereich.setColor(zColor);
if ((last_x-x)<0) {c=x-last_x;a=last_x;} else {c=last_x-x;a=x;}
if ((last_y-y)<0) {d=y-last_y;b=last_y;} else {d=last_y-y;b=y;}
if (ak==8) zeichenbereich.drawRect(a,b,c,d);
if (ak==9) zeichenbereich.drawOval(a,b,c,d);
}
return true;
}
public boolean action(Event evt, Object arg){
if(evt.target instanceof Button){
String Knopf=arg.toString();
if(Knopf=="Neu!"){
Graphics g=this.getGraphics();
g.setColor(Color.white);
g.fillRect(0,0,800,800);
}
}
if(evt.target instanceof Choice){
String eint=arg.toString();
if(eint=="Schwarz") zColor=Color.black;
if(eint=="Weiß") zColor=Color.white;
if(eint=="Blau") zColor=Color.blue;
if(eint=="Rot") zColor=Color.red;
if(eint=="Gelb") zColor=Color.yellow;
if(eint=="Grün") zColor=Color.green;
if(eint=="Freihand") ak=1;
if(eint=="Linie") ak=2;
if(eint=="Oval") ak=3;
if(eint=="Rechteck") ak=4;
if(eint=="Gefüllt Oval") ak=5;
if(eint=="Gefüllt Rechteck") ak=6;
if(eint=="Funny Line") ak=7;
if(eint=="Funny Box") ak=8;
if(eint=="Funny Oval") ak=9;
}
return false;
}
}