/* This applet demonstrates four easy-to-use routines for showing a dialog box and, in three cases, getting back some information from the user. The methods are: JOptionPane.showMessageDialog JOptionPane.showConfirmDialog JOptionPane.showInputDialog JColorChooser.showDialog */ import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SimpleDialogDemo extends JApplet implements ActionListener { JLabel message; // A label for giving some feedback to the user. // It appears at the top of the applet. Color selectedColor = Color.gray; // This color will be used as the // initial color in the color chooser. // It is used to rememeber the user's // color choice, so that the color // chooser can show the same color, // if it is opened twice. public void init() { // Set up the applet with a message label and four buttons. // Each button will open a different type of dialog. setBackground(Color.gray); getContentPane().setBackground(Color.gray); getContentPane().setLayout( new GridLayout(3,1,3,3) ); message = new JLabel("Click a button to open a dialog", JLabel.CENTER); message.setForeground(new Color(180,0,0)); message.setBackground(Color.white); message.setOpaque(true); getContentPane().add(message); JPanel buttonBar; JButton button; buttonBar = new JPanel(); buttonBar.setLayout(new GridLayout(1,2,3,3)); buttonBar.setBackground(Color.gray); getContentPane().add(buttonBar); button = new JButton("Message Dialog"); button.addActionListener(this); buttonBar.add(button); button = new JButton("Confirm Dialog"); button.addActionListener(this); buttonBar.add(button); buttonBar = new JPanel(); buttonBar.setLayout(new GridLayout(1,2,3,3)); buttonBar.setBackground(Color.gray); getContentPane().add(buttonBar); button = new JButton("Input Dialog"); button.addActionListener(this); buttonBar.add(button); button = new JButton("Color Chooser"); button.addActionListener(this); buttonBar.add(button); } // end init() public Insets getInsets() { // Leave a gray border around the applet. return new Insets(3,3,3,3); } public void actionPerformed(ActionEvent evt) { // Respond to a button click by showing a dialog // and setting the message label to describe the // user's response. String command = evt.getActionCommand(); if (command.equals("Message Dialog")) { message.setText("Displaying message dialog."); JOptionPane.showMessageDialog(null, "This is an example of JOptionPane.showMessageDialog."); message.setText("You closed the message dialog."); } else if (command.equals("Confirm Dialog")) { message.setText("Displaying confirm dialog."); int response = JOptionPane.showConfirmDialog(null, "This is an example of JOptioPane.showConfirmDialog.\n" + "Click any button to indicate your response."); switch(response) { case JOptionPane.YES_OPTION: message.setText("You clicked \"Yes\"."); break; case JOptionPane.NO_OPTION: message.setText("You clicked \"No\"."); break; case JOptionPane.CANCEL_OPTION: message.setText("You clicked \"Cancel\"."); break; case JOptionPane.CLOSED_OPTION: message.setText("You closed the box without making a selection."); } } else if (command.equals("Input Dialog")) { message.setText("Displaying input dialog."); String response = JOptionPane.showInputDialog(null, "This is an example of JOptioPane.showInputDialog.\n" + "Type your response, and click a button."); if (response == null) message.setText("You canceled the input."); else if (response.trim().length() == 0) message.setText("You left the input box empty."); else message.setText("You entered \"" + response + "\"."); } else if (command.equals("Color Chooser")) { message.setText("Displaying color chooser dialog."); Color c = JColorChooser.showDialog(null,"Select a Color",selectedColor); if (c == null) message.setText("You canceled without selecting a color."); else { selectedColor = c; // Remember selected color for next time. int r = c.getRed(); int g = c.getGreen(); int b = c.getBlue(); message.setText("You selected RGB = (" + r + "," + g + "," + b + ")."); } } } // end actionPerformed() } // end class SimpleDialogDemo