/* AgeDialogDemo.java Custom JDialog Demo. See file AgeDialog.java file for the actual dialog. Mike Barnes 9/20/02 */ import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.JDialog; import java.util.*; // subclass Frame for the main window public class AgeDialogDemo extends JFrame implements ActionListener { // instantiate the menubar and menuitems private JFrame frame; private AgeDialog ageDialog; private JLabel birth; public static void main(String args[]) { AgeDialogDemo mainW = new AgeDialogDemo("Birthday"); mainW.setBounds(20,20,250,100); mainW.setVisible(true); // need to be able to close the window. mainW.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) {System.exit(0);} }); } public AgeDialogDemo(String frameTitle) { super(frameTitle); // call base constructor to set title ageDialog = new AgeDialog(this, "Enter birth info:", true); Container pane = getContentPane(); JButton getAge = new JButton("Get birth month and day"); getAge.addActionListener(this); birth = new JLabel("Your name, birth month, and birth day"); pane.add(getAge); pane.add(birth, BorderLayout.SOUTH); pack(); setBounds(30, 30, 50, 50); setVisible(true); } // respond to button, show dialog, update birth status dispay public void actionPerformed(ActionEvent event) { // show will block due modal dialog until dialog closes if (ageDialog.showDialog()) birth.setText(ageDialog.toString()); else birth.setText("Your name, birth month, and birth day"); } }