MessageBoxes.java


</COMMENT> No Java 2 support for APPLET!!

//: c13:MessageBoxes.java
// From 'Thinking in Java, 2nd ed.' by Bruce Eckel
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
// Demonstrates JoptionPane.
// <applet code=MessageBoxes 
// width=500 height=150> </applet>
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import com.bruceeckel.swing.*;

public class MessageBoxes extends JApplet {
  JButton[] b = { new JButton("Message(Alert)"), new JButton("Confirm(Yes/No)"), 
                  new JButton("Option(Color)"), new JButton("Input") };

  JTextField txt = new JTextField(15);
  ActionListener AL = new ActionListener() {
    public void actionPerformed(ActionEvent e){
      String id =
        ((JButton)e.getSource()).getText();
      if(id.equals("Message(Alert)"))
        JOptionPane.showMessageDialog(null,
          "There's a bug on you!", "Message(Alert)!",
          JOptionPane.ERROR_MESSAGE);
      else if(id.equals("Confirm(Yes/No)")){
        int answer = JOptionPane.showConfirmDialog(null,
          "Quit? ", "Confrin(Yes/No)",
          JOptionPane.YES_NO_OPTION);
        if ( answer == 0 )
            txt.setText("answer is  Yes");
        else txt.setText("answer is  No");
      }else if(id.equals("Option(Color)")) {
        Object[] options = { "Red", "Green","Blue" };
        int sel = JOptionPane.showOptionDialog(
          null, "Choose a Color!", "Option(Color)",
          JOptionPane.DEFAULT_OPTION,
          JOptionPane.WARNING_MESSAGE, null,
          options, options[0]);
          if(sel != JOptionPane.CLOSED_OPTION)
            txt.setText(
              "Color Selected: " + options[sel]);
      } else if(id.equals("Input")) {
        String val = JOptionPane.showInputDialog(
            "How many fingers do you see?");
        txt.setText(val);
      }
    }
  };
  public void init() {
    Container cp = getContentPane();
    cp.setLayout(new FlowLayout());
    for(int i = 0; i < b.length; i++) {
      b[i].addActionListener(AL);
      cp.add(b[i]);
    }
    cp.add(txt);
  }
  public static void main(String[] args) {
    Console.run(new MessageBoxes(), 500, 200);
  }

} ///:~
} ///:~