Fortune Cookie


Goal: Make a Swing program from scratch.

The program will have a window (frame) with a button that gives one of five random fortunes when clicked.



1. Make a FortuneCookie class, with a showButton() method like the one below:

public class FortuneCookie {
   public void showButton() {
     System.out.println("Button clicked");
    }
}


2. Now make a runner class to run the code above, like the one below:

public class FortuneCookieRunner {
   public static void main(String[] args) {
      new FortuneCookie().showButton();
   }
}


3. Now change the showButton() method in Step 1, to make a JFrame and get it to show up when you run the program. Hint:


frame.setVisible(true);


4. Make a JButton and add it to the JFrame.

JButton button = new JButton();
frame.add(button);
frame.pack();


5. The next 4 steps make a pop-up appear that says, “Woohoo” when the button is clicked

     a. Add an action listener to the button:


button.addActionListener(this);


     b. Have your class implement ActionListener [use Eclipse quick fix]


     c. Add the unimplemented methods [use Eclipse quick fix]


     d. Put a JOptionPane pop-up inside the actionPerformed() method that says "Woohoo".


6. Generate a random number between 0 and 4:


int rand = new Random().nextInt(5);


7. Depending on which random number, show one of the five fortunes.



[optional] 8. Run other student's programs to receive fortunes from them.