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