import java.awt.event.*; import java.awt.*; import java.applet.*; import java.util.*; public class Talk2 extends Applet implements ItemListener, ActionListener { private Button clear; private Button talks; public AudioClip sounds[] = { "\"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\"" }; 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() { for(int m = 0; m < sounds.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 { Talk2 t; public ButtonHandler(Talk2 t) { this.t = t; } public void actionPerformed(ActionEvent e) { t.s = ""; t.sentence.setText(t.s); } } class ButtalkHandler implements ActionListener { Talk2 t; public ButtalkHandler( Talk2 t ) { this.t = t; } public void actionPerformed( ActionEvent e) { t.showStatus( "Talk button pushed"); String TALK = t.s; String temp; StringTokenizer tokens = new StringTokenizer( TALK ); while(tokens.hasMoreTokens() ) { temp = tokens.nextToken(); temp = temp.concat(".au\""); temp = "\"" + temp; for(int n = 0; n < t.sounds.length; n++) { if( temp == t.soundString[n]) { t.sounds[n].play();} } } } }