home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1998 February / VPR9802A.ISO / APP_DEMO / VC / SAMPLES.BIN / QuitDialog.java < prev    next >
Text File  |  1997-10-27  |  4KB  |  135 lines

  1. /*
  2.     A basic extension of the java.awt.Dialog class
  3.  */
  4.  
  5. import java.awt.*;
  6. import java.awt.event.*;
  7.  
  8. public class QuitDialog extends Dialog
  9. {
  10.  
  11.     public QuitDialog(Frame parent, boolean modal)
  12.     {
  13.         super(parent, modal);
  14.  
  15.         // This code is automatically generated by Visual Cafe when you add
  16.         // components to the visual environment. It instantiates and initializes
  17.         // the components. To modify the code, only use code syntax that matches
  18.         // what Visual Cafe can generate, or Visual Cafe may be unable to back
  19.         // parse your Java file into its visual environment.
  20.         //{{INIT_CONTROLS
  21.         setLayout(null);
  22.         setVisible(false);
  23.         setSize(insets().left + insets().right + 337,insets().top + insets().bottom + 135);
  24.         yesButton = new java.awt.Button();
  25.         yesButton.setLabel(" Yes ");
  26.         yesButton.setBounds(insets().left + 72,insets().top + 80,79,22);
  27.         yesButton.setFont(new Font("Dialog", Font.BOLD, 12));
  28.         add(yesButton);
  29.         noButton = new java.awt.Button();
  30.         noButton.setLabel("  No  ");
  31.         noButton.setBounds(insets().left + 185,insets().top + 80,79,22);
  32.         noButton.setFont(new Font("Dialog", Font.BOLD, 12));
  33.         add(noButton);
  34.         label1 = new java.awt.Label("Do you really want to quit?",Label.CENTER);
  35.         label1.setBounds(insets().left + 78,insets().top + 33,180,23);
  36.         add(label1);
  37.         setTitle("A Basic Application - Quit");
  38.         //}}
  39.  
  40.         //{{REGISTER_LISTENERS
  41.         SymWindow aSymWindow = new SymWindow();
  42.         addWindowListener(aSymWindow);
  43.         SymAction lSymAction = new SymAction();
  44.         noButton.addActionListener(lSymAction);
  45.         yesButton.addActionListener(lSymAction);
  46.         //}}
  47.     }
  48.  
  49.     public void addNotify()
  50.     {
  51.         // Record the size of the window prior to calling parents addNotify.
  52.         Dimension d = getSize();
  53.         
  54.         super.addNotify();
  55.  
  56.         if (fComponentsAdjusted)
  57.             return;
  58.  
  59.         // Adjust components according to the insets
  60.         setSize(insets().left + insets().right + d.width, insets().top + insets().bottom + d.height);
  61.         Component components[] = getComponents();
  62.         for (int i = 0; i < components.length; i++)
  63.         {
  64.             Point p = components[i].getLocation();
  65.             p.translate(insets().left, insets().top);
  66.             components[i].setLocation(p);
  67.         }
  68.         fComponentsAdjusted = true;
  69.     }
  70.  
  71.     public QuitDialog(Frame parent, String title, boolean modal)
  72.     {
  73.         this(parent, modal);
  74.         setTitle(title);
  75.     }
  76.  
  77.     public synchronized void show()
  78.     {
  79.         Rectangle bounds = getParent().bounds();
  80.         Rectangle abounds = bounds();
  81.  
  82.         move(bounds.x + (bounds.width - abounds.width)/ 2,
  83.              bounds.y + (bounds.height - abounds.height)/2);
  84.  
  85.         super.show();
  86.     }
  87.  
  88.     // Used for addNotify check.
  89.     boolean fComponentsAdjusted = false;
  90.  
  91.     //{{DECLARE_CONTROLS
  92.     java.awt.Button yesButton;
  93.     java.awt.Button noButton;
  94.     java.awt.Label label1;
  95.     //}}
  96.  
  97.     class SymWindow extends java.awt.event.WindowAdapter
  98.     {
  99.         public void windowClosing(java.awt.event.WindowEvent event)
  100.         {
  101.             Object object = event.getSource();
  102.             if (object == QuitDialog.this)
  103.                 QuitDialog_WindowClosing(event);
  104.         }
  105.     }
  106.  
  107.     void QuitDialog_WindowClosing(java.awt.event.WindowEvent event)
  108.     {
  109.            dispose();
  110.     }
  111.  
  112.     class SymAction implements java.awt.event.ActionListener
  113.     {
  114.         public void actionPerformed(java.awt.event.ActionEvent event)
  115.         {
  116.             Object object = event.getSource();
  117.             if (object == noButton)
  118.                 noButton_Clicked(event);
  119.             else if (object == yesButton)
  120.                 yesButton_Clicked(event);
  121.         }
  122.     }
  123.  
  124.     void yesButton_Clicked(java.awt.event.ActionEvent event)
  125.     {
  126.         Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(new WindowEvent((java.awt.Window)getParent(), WindowEvent.WINDOW_CLOSING));
  127.     }
  128.  
  129.     void noButton_Clicked(java.awt.event.ActionEvent event)
  130.     {
  131.         dispose();
  132.     }
  133.  
  134. }
  135.