/* COSC 304 section 2
   LUKE BURGESS
   luke_burgess@hotmail.com
   @00205854
   Nov 2 2000 */

// Lab task: Exercise 10.11, page 507 from "Java How To Program", Deitel & Deitel

// Applet that encodes English language phrases into pig Latin.

import javax.swing.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;

public class Exercise11p507 extends JApplet implements ActionListener {

   private JLabel inputLabel, outputLabel;
   private JTextField inputField;
   private JTextArea output;
   private int charCount;

   public void init() {

      Container c = getContentPane();
      c.setLayout (new FlowLayout());
      c.setBackground(Color.decode("#ccccff"));

      inputLabel = new JLabel ("Enter English phrase:");
      inputField = new JTextField (30);
      inputField.addActionListener (this);
      c.add (inputLabel);
      c.add (inputField);

      outputLabel = new JLabel ("pig Latin phrase:       ");
      output = new JTextArea (5, 30);
      c.add (outputLabel);
      c.add (output);

   } // init()

   public void actionPerformed (ActionEvent e) {

      String s = e.getActionCommand().toString();
      inputField.setText ("");
      StringTokenizer tokens = new StringTokenizer( s );
      charCount = tokens.countTokens();

      while (tokens.hasMoreTokens()) {
         charCount--;
         printLatinWord (tokens.nextToken());
      }

   } // actionPerformed()

   private void printLatinWord (String token) {

      char letters[] = token.toCharArray();

      StringBuffer latinPhrase = new StringBuffer();
      latinPhrase.append (letters, 1, letters.length - 1) ;
      latinPhrase.append (Character.toLowerCase (letters[ 0 ]));
      latinPhrase.append ("ay");

      output.append (latinPhrase.toString() + " ");

      if (charCount == 0)
         output.append ("\n");

   } // printLatinWord()

} // class Exercise11p507
