//: 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);
}
} ///:~
} ///:~