
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Event;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextField;

class SLFrame extends Frame
{
  Button helvetica, times, courier;
  ScrollableLabel sl;
  TextField tf;

  public SLFrame()
  {
    super("ScrollableLabel Test");
    
    setLayout(new BorderLayout());

    Panel p = new Panel();
    p.add(helvetica = new Button("Helvetica"));
    p.add(times = new Button("Times"));
    p.add(courier = new Button("Courier"));
    add("North", p);
    
    sl = new ScrollableLabel(20, 4);
    add("Center", sl);

    tf = new TextField(20);
    add("South", tf);

    pack();
  }

  public boolean handleEvent(Event evt)
  {
    if (evt.id == Event.WINDOW_DESTROY) {
      dispose();
      return true;
    }
    else {
      return super.handleEvent(evt);
    }
  }

  public boolean action(Event evt, Object arg)
  {
    if (evt.target == helvetica) {
      sl.setFont(new Font("Helvetica",
			  getFont().getStyle(), getFont().getSize()));
    }
    else if (evt.target == times) {
      sl.setFont(new Font("TimesRoman",
			  getFont().getStyle(), getFont().getSize()));
    }
    else if (evt.target == courier) {
      sl.setFont(new Font("Courier",
			  getFont().getStyle(), getFont().getSize()));
    }
    else if (evt.target == tf) {
      sl.setText(sl.getText() + " " + tf.getText());
      tf.setText("");
      return true;
    }
    return true;
  }
}

