import java.awt.event.*; import java.awt.*; import java.applet.*; import java.util.*; public class Talk extends Applet implements ItemListener, ActionListener { private Button clear; private Button talks; public AudioClip sounds[]; public String soundString[]= { "dogs.au", "monkeys.au", "trees.au", "people.au", "guys.au", "cars.au", "computers.au", "guts.au", "fires.au", "guns.au", "chickens.au", "bombs.au", "Mahe.au", "Jeff.au", "JohnandTepring.au", "SarahJane.au", "talk.au", "eat.au", "climb.au", "rip.au", "demoralize.au", "masticate.au", "fornicate.au", "shoot.au", "draw.au", "disillusion.au", "pump.au", "languor.au", "fat.au", "slinky.au", "slimy.au", "tall.au", "repulsive.au", "stupid.au", "busty.au", "falliferous.au", "long.au", "outrageous.au", "teeny.au", "easy.au", "the.au", "or.au", "and.au", "often.au", "soon.au", "quickly.au", "now.au", "then.au", "while.au", "also.au", "datata.au", "with.au", "falliferously.au" }; private List nounList; private List verbList; private List adjectiveList; private List otherwords; private String NOUNS[] = {"dogs","monkeys","trees","people","guys", "cars","computers","guts","fires","guns", "chickens","bombs","Mahe","Jeff","JohnandTepring", "SarahJane" }; private String VERBS[] = {"talk","eat","climb","rip","demoralize", "masticate","fornicate","shoot","draw", "disillusion","pump","languor" }; private String ADJECTIVES[] = {"fat","slinky","slimy","tall","repulsive", "stupid","busty","falliferous","long","outrageous", "teeny","easy" }; private String OTHERWORDS[] = {"the","or","and","often","soon","quickly", "now","then","while","also","datata","with", "falliferously" }; public String s; public TextArea sentence; public void init() { sounds= new AudioClip[soundString.length]; for(int m = 0; m < soundString.length; m++) { sounds[m] = getAudioClip(getDocumentBase(), soundString[m]); } s = new String(""); sentence = new TextArea( s, 5, 60, TextArea.SCROLLBARS_NONE ); clear = new Button("CLEAR"); clear.addActionListener( new ButtonHandler(this) ); add( clear, BorderLayout.SOUTH); talks = new Button("TALK"); talks.addActionListener( new ButtalkHandler(this) ); nounList = new List(5, false); nounList.addActionListener( this ); nounList.addItemListener( this ); for (int i =0; i < NOUNS.length; i ++) nounList.add( NOUNS[i] ); add( nounList ); verbList = new List(5, false); verbList.addActionListener( this ); verbList.addItemListener( this ); for (int i =0; i < VERBS.length; i ++) verbList.add( VERBS[i] ); add( verbList ); adjectiveList = new List(5, false); adjectiveList.addActionListener( this ); adjectiveList.addItemListener( this ); for (int i =0; i < ADJECTIVES.length; i ++) adjectiveList.add( ADJECTIVES[i] ); add( adjectiveList ); otherwords = new List(5, false); otherwords.addActionListener( this ); otherwords.addItemListener( this ); for (int i =0; i < OTHERWORDS.length; i ++) otherwords.add( OTHERWORDS[i] ); add( otherwords ); add( talks, BorderLayout.SOUTH); add( sentence ); } public void actionPerformed( ActionEvent e ) { if(e.getSource() == nounList) { s = s.concat(" " + NOUNS[nounList.getSelectedIndex()] ); sentence.setText( s); } else if(e.getSource() == verbList) { s = s.concat(" " + VERBS[verbList.getSelectedIndex()] ); sentence.setText( s); } else if(e.getSource() == adjectiveList) { s = s.concat(" " + ADJECTIVES[adjectiveList.getSelectedIndex()] ); sentence.setText( s); } else if(e.getSource() == otherwords) { s = s.concat(" " + OTHERWORDS[otherwords.getSelectedIndex()] ); sentence.setText( s); } } public void itemStateChanged( ItemEvent e) { List list = (List) e.getItemSelectable(); showStatus(list.getSelectedItem() ); } } class ButtonHandler implements ActionListener { Talk t; public ButtonHandler(Talk t) { this.t = t; } public void actionPerformed(ActionEvent e) { t.s =""; t.sentence.setText(t.s); } } class ButtalkHandler implements ActionListener { Talk t; public ButtalkHandler( Talk t ) { this.t = t; } public void actionPerformed( ActionEvent e) { t.showStatus("Talk button pushed"); String TALK = t.s; System.out.println(TALK); String temp; StringTokenizer tokens = new StringTokenizer( TALK ); while(tokens.hasMoreTokens() ) { temp = tokens.nextToken(); temp = temp.concat(".au"); for(int n = 0; n < t.sounds.length; n++) if( temp.equals(t.soundString[n]) ) { t.sounds[n].play(); System.out.println(temp+" "+ t.soundString[n] ); try{ Thread.sleep(1000); } catch(Exception ee){} } } } }