
import java.io.*;
import java.awt.*;
import java.applet.*;

public class finfo extends Applet 
{
    final Color c = new Color(0,0,140);
    Label version = new Label("010516");
    TextArea sentance = new TextArea("The quick brown fox jumped over the lazy dog. 0123456789");
    Font font  = new Font("Courier",0,12);
    List flist = new List(10,false);
    String[] fonts;
    int j;
    

    public boolean handleEvent(Event evt) 
    {
        int i=0;

        if (evt.target==flist) 
        {
           if (evt.id == Event.LIST_SELECT) 
            {
                font=new Font(flist.getSelectedItem(),Font.PLAIN,12);
                sentance.setFont(font);
            }
            if (evt.id==Event.KEY_PRESS) 
            {
                i=flist.getSelectedIndex();
                if (evt.key==56)   {i--; if (i<0) i=0;flist.select(i);};
                if (evt.key==50)   {i++; if (i>flist.countItems()) i=flist.countItems()-1;flist.select(i);};
                font=new Font(flist.getSelectedItem(),Font.PLAIN,12);
                sentance.setFont(font);
            }
            if (evt.id==Event.KEY_ACTION) 
            {
                i=flist.getSelectedIndex();
                if (evt.key==Event.UP)   {i--; if (i<0) i=0;flist.select(i);};
                if (evt.key==Event.DOWN)   {i++; if (i>flist.countItems()) i=flist.countItems()-1;flist.select(i);};
                font=new Font(flist.getSelectedItem(),Font.PLAIN,12);
                sentance.setFont(font);
            }

        }
        return true;
    }

void stringsorter(String[] A)
    {
        int i,j,k;
        String S;
        k=A.length;
        k--;
        if (k>2)
          for (j=0;j<k-1;j++) 
             for (i=j+1;i<=k;i++) 
             { 
                if (A[j].compareTo(A[i])>0)
                {
                  S=A[i];
                  A[i]=A[j];
                  A[j]=S;
                }
              }
    }


    public finfo() 
    {
        setLayout(null);
        setBackground(c);
        version.setFont(font);
        version.setBackground(Color.white);
        version.setBounds(1,1,100,10);
        add(version);
        flist.setFont(font);
        flist.setBackground(new Color(254,254,254));
        fonts=getToolkit().getFontList();
        stringsorter(fonts);
        int p=fonts.length;
        for (j=0;j<p;j++) {flist.add(fonts[j],j);};
        add(flist);
        flist.select(0);
        flist.setBounds(20,20,400,200);
        flist.makeVisible(0);
        sentance.setBounds(20,230,400,50);
        sentance.setBackground(Color.white);
        font=new Font(flist.getSelectedItem(),Font.PLAIN,12);
        sentance.setFont(font);
        sentance.setEditable(true);
        add(sentance);
    }
    

}
