Konrad-Adenauer-Gymnasium Langenfeld

Informatik Grundkurs Q1

Die Klasse Vokabel20.java

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Vokabel20 extends Applet implements ActionListener
{
  String Version = " V 2.0";
  BorderLayout blHaupt = new BorderLayout();
  Panel pnNord = new Panel();
  Panel pnWest = new Panel();
  Panel pnSüd = new Panel();
  Panel pnCenter = new Panel();
  
  Label lbHeader = new Label("Vokabel");
  Label lbCopyright = new Label("© Ralph-Erich Hildebrandt/November 2001");
  Font ftHFont = new Font("SansSerif",Font.BOLD,20);
  Font ftCFont = new Font("SansSerif",Font.PLAIN,10);
  
  GridLayout glLinks = new GridLayout(10,1);
  Panel pnEins = new Panel();
  Panel pnZwei = new Panel();
  Panel pnDrei = new Panel();
  Panel pnVier = new Panel();
  Panel pnFünf = new Panel();
  Panel pnSechs = new Panel();
  Panel pnSieben = new Panel();
  
  Button btListeNeu = new Button("Neue Liste");
  Button btVokabelNeu = new Button("Neue Vokabel");
  Button btVokabelLöschen = new Button("Vokabel löschen");
  Button btVokabelTesten = new Button("Vokabel testen");
  
  GridLayout glMitte = new GridLayout(8,1);
  Panel pnMEins = new Panel();
  Panel pnMZwei = new Panel();
  Panel pnMDrei = new Panel();
  Panel pnMVier = new Panel();
  Panel pnMFünf = new Panel();
  Panel pnMSechs = new Panel();
  Label lbEnglisch = new Label("Englisch:");
  Label lbDeutsch = new Label("Deutsch:");
  TextField tfEnglisch = new TextField(60);
  TextField tfDeutsch = new TextField(60);
  Button btAnfang = new Button("|<<");
  Button btZurück = new Button(" < ");
  Button btVor = new Button(" > ");
  Button btEnde = new Button(">>|");
  Label lbErgebnis = new Label("KEIN TEST");
  
  
  verketteteListe VokabelListe = new verketteteListe();
  
  int AktuellerIndex = 0;


  public void init()
  {
    resize(640, 400);
    setLayout(blHaupt);
    add("North",pnNord);
    pnNord.setBackground(Color.black);
    lbHeader.setText(lbHeader.getText()+Version);
    pnNord.add(lbHeader);
    lbHeader.setFont(ftHFont);
    lbHeader.setForeground(Color.white);
    
    add("West",pnWest);
    pnWest.setLayout(glLinks);
    pnWest.setBackground(Color.yellow);
    pnWest.add(pnEins);
    pnEins.add(btListeNeu);
    btListeNeu.addActionListener(this);
    pnWest.add(pnZwei);
    pnZwei.add(btVokabelNeu);
    btVokabelNeu.addActionListener(this);
    pnWest.add(pnDrei);
    pnDrei.add(btVokabelLöschen);
    btVokabelLöschen.addActionListener(this);
    pnWest.add(pnVier);
    pnVier.add(btVokabelTesten);
    btVokabelTesten.addActionListener(this);
    pnWest.add(pnFünf);
    pnWest.add(pnSechs);
    pnWest.add(pnSieben);
    
    add("South",pnSüd);
    pnSüd.setBackground(Color.black);
    pnSüd.add(lbCopyright);
    lbCopyright.setFont(ftCFont);
    lbCopyright.setForeground(Color.white);
    
    add("Center",pnCenter);
    pnCenter.setLayout(glMitte);
    pnCenter.setBackground(Color.white);
    pnCenter.add(pnMEins);
    pnMEins.add(lbEnglisch);
    pnCenter.add(pnMZwei);
    pnMZwei.add(tfEnglisch);
    pnCenter.add(pnMDrei);
    pnMDrei.add(lbDeutsch);
    pnCenter.add(pnMVier);
    pnMVier.add(tfDeutsch);
    pnCenter.add(pnMFünf);
    pnMFünf.add(btAnfang);
    btAnfang.addActionListener(this);
    pnMFünf.add(btZurück);
    btZurück.addActionListener(this);
    pnMFünf.add(btVor);
    btVor.addActionListener(this);
    pnMFünf.add(btEnde);
    btEnde.addActionListener(this);
    pnCenter.add(pnMSechs);
    pnMSechs.add(lbErgebnis);
    lbErgebnis.setFont(ftHFont);
    lbErgebnis.setForeground(Color.red);
  }
  
  void ListeNeuClick()
  {
     VokabelElement V;

     VokabelListe.zumAnfang();
     while (!VokabelListe.istLeer())
       V=((VokabelElement)VokabelListe.aktuellesEntfernen());
   
     tfEnglisch.setText("");
     tfDeutsch.setText("");
  }

  void VokabelNeuClick(String E, String D)
  {
     VokabelListe.einfuegen(new VokabelElement(E,D));
     tfEnglisch.setText("");
     tfDeutsch.setText("");
  }

    void VokabelLöschenClick()
  {
    VokabelElement V = new VokabelElement();

    V=((VokabelElement)VokabelListe.aktuellesEntfernen());
    V=((VokabelElement)VokabelListe.aktuellesElement());
    tfEnglisch.setText(V.getEnglisch());
    tfDeutsch.setText("");
  }

  void VokabelTestenClick()
  {
    VokabelElement V = new VokabelElement();
    String DEingabe;

    V = ((VokabelElement)VokabelListe.aktuellesElement());
    DEingabe = tfDeutsch.getText();
    if (V.getDeutsch().equals(DEingabe)) 
      lbErgebnis.setText("RICHTIG");
    else 
      lbErgebnis.setText("FALSCH!!!");

  }


  void AnfangClick()
  {
    VokabelElement V = new VokabelElement();
    VokabelListe.zumAnfang();
    V = ((VokabelElement)VokabelListe.aktuellesElement());
    tfEnglisch.setText(V.getEnglisch());
    tfDeutsch.setText("");
  }


  void ZurückClick()
  {
      //Diese Methode macht bei der einfach verketteten Liste keinen Sinn
      lbErgebnis.setText("Nicht implementiert!!!");
  }

  void VorClick()
  {
    VokabelElement V = new VokabelElement();

    V = ((VokabelElement)VokabelListe.naechstesElement());
    tfEnglisch.setText(V.getEnglisch());
    tfDeutsch.setText("");
  }

  void EndeClick()
  {
    VokabelElement V = new VokabelElement();

    VokabelListe.zumEnde();
    V = ((VokabelElement)VokabelListe.aktuellesElement());
    tfEnglisch.setText(V.getEnglisch());
    tfDeutsch.setText("");
  }

  
  public void actionPerformed(ActionEvent event)
  {
    Object cmd = event.getSource();
    if (cmd == btListeNeu)
    {
      ListeNeuClick();
    }
    if (cmd == btVokabelNeu)
    {
      VokabelNeuClick(tfEnglisch.getText(),tfDeutsch.getText());
    }
    if (cmd == btVokabelLöschen)
    {
      VokabelLöschenClick();
    }
    if (cmd == btVokabelTesten)
    {
      VokabelTestenClick();
    }
    if (cmd == btAnfang)
    {
      AnfangClick();
    }
    if (cmd == btZurück)
    {
      ZurückClick();
    }
    if (cmd == btVor)
    {
      VorClick();
    }
    if (cmd == btEnde)
    {
      EndeClick();
    }
  }
}

 


© Ralph-Erich Hildebrandt, 26. November 2004