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

public class Nappuloita extends Frame
                        implements ActionListener {

  // muuttujia ikkunan komponenteille:

  private Button nappula, tyhjaa, loppu;
  private TextField tekstiKentta1, tekstiKentta2;
  private TextArea tekstiAlue;

  public Nappuloita() {  // konstruktori

    setLayout(new FlowLayout()); // "kun rivi loppuu,
                                 //  uusi alkaa"
    // luodaan komponenttioliot:

    nappula = new Button("nappula");
    tyhjaa  = new Button("tyhjää");
    loppu   = new Button("loppu");

    tekstiKentta1 = new TextField(10);

    tekstiKentta2 = new TextField(15);
    tekstiKentta2.setEditable(false);

    tekstiAlue = new TextArea(5,14);

    // lisätään komponenttioliot ikkunaan:

    add(nappula);
    add(tyhjaa);
    add(loppu);
    add(tekstiKentta1);
    add(tekstiKentta2);
    add(tekstiAlue);

    // asetetaan kuuntelijat:

    nappula.addActionListener(this);
    tyhjaa.addActionListener(this);
    loppu.addActionListener(this);
    tekstiKentta1.addActionListener(this);


    addWindowListener(new HoiteleIkkunanSulkeminen());
  }

  // tapahtumien käsittely:

  public void actionPerformed(ActionEvent tapahtuma) {

     Object aiheuttaja = tapahtuma.getSource();

     if (aiheuttaja == nappula) {
       tekstiKentta2.setText("Painoit nappulaa!");
       tekstiAlue.append("Painoit nappulaa!\n");
     }
     else if (aiheuttaja == tyhjaa) {
       tekstiKentta1.setText("");
       tekstiKentta2.setText("");
       tekstiAlue.setText("");
     }
     else if (aiheuttaja == loppu)
       System.exit(0); // lopetetaan

     else if (aiheuttaja == tekstiKentta1)
       tekstiAlue.append(tekstiKentta1.getText()+"\n");

  }

  public static void main(String args[]) {
      Nappuloita ikkuna = new Nappuloita();
      ikkuna.setSize(300, 200);
      ikkuna.setTitle("Nappuloita.java");
      ikkuna.setVisible(true);
  }
} 

class HoiteleIkkunanSulkeminen extends WindowAdapter {
  public void windowClosing(WindowEvent tapahtuma) {
    System.exit(0);  // ikkunan sulkeminen
  }
}


