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


public class Components extends Applet implements ActionListener, ItemListener {

  private static final Font font = new Font("SansSerif", Font.BOLD, 14);

  public static TextArea textarea;
  public static TextField textfield;
  public static Label label;
  public static Button button;
  public static Canvas canvas;
  public static Checkbox checkbox;


  public void init() {

    setLayout(new GridLayout(2, 1));
    setBackground(new Color(128, 128, 128));

    Panel top = new Panel();
    top.setLayout(new GridLayout(1, 2));
    add(top);

    Label label1 = new Label("   Textarea:");
    label1.setFont(font);
    top.add(label1);

    textarea = new TextArea();
    top.add(textarea);

    Panel middle = new Panel();
    middle.setLayout(new GridLayout(5, 2));
    add(middle);

    Label label2 = new Label("   Textfield:");
    label2.setFont(font);
    middle.add(label2);

    textfield = new TextField();
    middle.add(textfield);

    Label label3 = new Label("   Label:");
    label3.setFont(font);
    middle.add(label3);

    label = new Label("A Label");
    middle.add(label);

    Label label4 = new Label("   Button:");
    label4.setFont(font);
    middle.add(label4);

    button = new Button("A Button");
    button.addActionListener(this);
    middle.add(button);

    Label label5 = new Label("   Canvas");
    label5.setFont(font);
    middle.add(label5);

    canvas = new Canvas();
    middle.add(canvas);

    Label label6 = new Label("   Checkbox:");
    label6.setFont(font);
    middle.add(label6);

    checkbox = new Checkbox();
    checkbox.addItemListener(this);
    middle.add(checkbox);
  }


  public void actionPerformed(ActionEvent e) {

    if (e.getSource() == button) {
      System.out.println("Button pressed");
      // handle button code
    }
  }


  public void itemStateChanged(ItemEvent e) {

    if (e.getSource() == checkbox) {
      System.out.println(checkbox.getState());
      // handle checkbox code
    }
  }
}