import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Programm4 extends Applet implements ActionListener,
    ItemListener, MouseMotionListener, AdjustmentListener {
  int last_x, last_y, dicke=1;
  Graphics Stift;
  Button Knopf = new Button("löschen");
  Choice Auswahl = new Choice();
  Scrollbar Skala = new Scrollbar(Scrollbar.HORIZONTAL,0,3,1,10);

  public Programm4() {
    setBackground(Color.WHITE);
    addMouseMotionListener(this);
    Knopf.addActionListener(this);
    Auswahl.add("schwarz");
    Auswahl.add("rot");
    Auswahl.add("blau");
    Auswahl.add("grün");
    Auswahl.addItemListener(this);
    Skala.addAdjustmentListener(this);
    add(Knopf); add(new Label("Farbe: ")); add(Auswahl);
    add(new Label("Liniendicke: ")); add(Skala);
  }

  public void init() {
    Stift = getGraphics();
  }

  public void actionPerformed(ActionEvent Ereignis) {
    Color Farbe = Stift.getColor();
    Rectangle Rechteck = getBounds();
    Stift.setColor(getBackground());
    Stift.fillRect(Rechteck.x, Rechteck.y, Rechteck.width, Rechteck.height);
    Stift.setColor(Farbe);
  }

  public void itemStateChanged(ItemEvent Ereignis) {
    if(Auswahl.getSelectedItem()=="schwarz") Stift.setColor(Color.BLACK);
    else if(Auswahl.getSelectedItem()=="rot") Stift.setColor(Color.RED);
    else if(Auswahl.getSelectedItem()=="blau") Stift.setColor(Color.BLUE);
    else if(Auswahl.getSelectedItem()=="grün") Stift.setColor(Color.GREEN);
  }

  public void mouseDragged(MouseEvent Ereignis) {
    for(int i=0; i<dicke; i=i+1)
      Stift.drawLine(last_x+i, last_y+i, Ereignis.getX()+i, Ereignis.getY()+i);
    last_x = Ereignis.getX();
    last_y = Ereignis.getY();
  }

  public void mouseMoved(MouseEvent Ereignis) {
    last_x = Ereignis.getX();
    last_y = Ereignis.getY();
  }

  public void adjustmentValueChanged(AdjustmentEvent Ereignis) {
    dicke=Skala.getValue();
  }
}

