Welcome to Dream.In.Code
Become a Java Expert!

Join 150,356 Java Programmers for FREE! Get instant access to thousands of Java experts, tutorials, code snippets, and more! There are 1,901 people online right now. Registration is fast and FREE... Join Now!




Pig Latin Gui question

 
Reply to this topicStart new topic

Pig Latin Gui question, I have to create a GUI program for the Pig Latin class

GIGI03
3 Feb, 2008 - 07:39 AM
Post #1

New D.I.C Head
*

Joined: 3 Feb, 2008
Posts: 2

CODE
import java.awt.*;
   import java.awt.event.*;
   import javax.swing.*;

    public class PigLatinPanel extends JPanel
   {
      private JTextField sentence;
      private JLabel label;
  
       public PigLatinPanel ()
      {
         sentence = new JTextField ();
         sentence.addActionListener (new JTextFieldListener());      
         label = new JLabel ("Please enter a sentence");
      
         add (sentence);
         add (label);
      
         setPreferredSize (new Dimension(300,75));
         setBackground (Color.yellow);
      }
  
       private class JTextFieldListener implements ActionListener
      {
          public void actionPerformed (ActionEvent event)
         {    
            String text = sentence.getText();
            System.out.println("Sentence:" + text);
        
            
         }
      }
  
  
   }


CODE
import java.util.Scanner;

    public class PigLatinTranslator
   {
   //-----------------------------------------------------------------
   //  Translates a sentence of words into Pig Latin.
   //-----------------------------------------------------------------
       public static String translate (String sentence)
      {
         String result = "";
      
         Scanner scan = new Scanner (sentence);
      
         sentence = sentence.toLowerCase();
      
         while (scan.hasNext())
         {
            result += translateWord (scan.next());
            result += " ";
         }
      
         return result;
      }


   //-----------------------------------------------------------------
   //  Translates one word into Pig Latin. If the word begins with a
   //  vowel, the suffix "yay" is appended to the word.  Otherwise,
   //  the first letter or two are moved to the end of the word,
   //  and "ay" is appended.
   //-----------------------------------------------------------------
       private static String translateWord (String word)
      {
         String result = "";
      
         if (beginsWithVowel(word))
            result = word + "yay";
         else
            if (beginsWithBlend(word))
               result = word.substring(2) + word.substring(0,2) + "ay";
            else
               result = word.substring(1) + word.charAt(0) + "ay";
      
         return result;
      }
  
   //-----------------------------------------------------------------
   //  Determines if the specified word begins with a vowel.
   //-----------------------------------------------------------------
       private static boolean beginsWithVowel (String word)
      {
         String vowels = "aeiou";
      
         char letter = word.charAt(0);
      
         return (vowels.indexOf(letter) != -1);
      }
      
   //-----------------------------------------------------------------
   //  Determines if the specified word begins with a particular
   //  two-character consonant blend.
   //-----------------------------------------------------------------
       private static boolean beginsWithBlend (String word)
      {
         return ( word.startsWith ("bl") || word.startsWith ("sc") ||
               word.startsWith ("br") || word.startsWith ("sh") ||
               word.startsWith ("ch") || word.startsWith ("sk") ||
               word.startsWith ("cl") || word.startsWith ("sl") ||
               word.startsWith ("cr") || word.startsWith ("sn") ||
               word.startsWith ("dr") || word.startsWith ("sm") ||
               word.startsWith ("dw") || word.startsWith ("sp") ||
               word.startsWith ("fl") || word.startsWith ("sq") ||
               word.startsWith ("fr") || word.startsWith ("st") ||
               word.startsWith ("gl") || word.startsWith ("sw") ||
               word.startsWith ("gr") || word.startsWith ("th") ||
               word.startsWith ("kl") || word.startsWith ("tr") ||
               word.startsWith ("ph") || word.startsWith ("tw") ||
               word.startsWith ("pl") || word.startsWith ("wh") ||
               word.startsWith ("pr") || word.startsWith ("wr") );
      }
   }


CODE
import javax.swing.JFrame;

    public class PigLatinDisplay
  
   {
       public static void main (String[] args)
      {
         JFrame frame = new JFrame ("Pig Latin");
         frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
      
         PigLatinPanel panel = new PigLatinPanel();
         frame.getContentPane().add(panel);
      
         frame.pack();
         frame.setVisible(true);
      }
   }


I am suppose to have a textfield box to input a word but I dont understand what I am doing wrong, it is not being displayed.The listener code should take the string from the text box and then
call the method in the PigLatinTranslator class to do the translation, but I don't know how to call it. I am having difficulties trying to do this. Any help will be appreciated. Thanks.
User is offlineProfile CardPM
+Quote Post

GWatt
RE: Pig Latin Gui Question
3 Feb, 2008 - 08:52 AM
Post #2

human inside
Group Icon

Joined: 1 Dec, 2005
Posts: 2,360



Thanked: 31 times
Dream Kudos: 500
My Contributions
Well, your first problem is that you haven't declared or initialized any textfield objects.
User is online!Profile CardPM
+Quote Post

GIGI03
RE: Pig Latin Gui Question
3 Feb, 2008 - 08:57 AM
Post #3

New D.I.C Head
*

Joined: 3 Feb, 2008
Posts: 2

QUOTE(GWatt @ 3 Feb, 2008 - 09:52 AM) *

Well, your first problem is that you haven't declared or initialized any textfield objects.


Oh I though I did were I have new JTextField();
I fixed the problem.

The listener code should take the string from the text box and then call the method in the PigLatinTranslator class to do the translation, but how do I call it? Thanks for the help! smile.gif

This post has been edited by GIGI03: 3 Feb, 2008 - 10:33 AM
User is offlineProfile CardPM
+Quote Post

GWatt
RE: Pig Latin Gui Question
3 Feb, 2008 - 11:33 AM
Post #4

human inside
Group Icon

Joined: 1 Dec, 2005
Posts: 2,360



Thanked: 31 times
Dream Kudos: 500
My Contributions
I suspect one would call the .translate() method of the PigLatinTranslator class.
User is online!Profile CardPM
+Quote Post

Fast ReplyReply to this topicStart new topic
Time is now: 1/9/09 12:56PM

Be Social

Dream.In.Code RSS Feed Dream.In.Code LinkedIn Group Follow Us On Twitter

Live Java Help!

Java Tutorials

Reference Sheets

Java Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month