home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 November / Chip_1998-11_cd.bin / tema / Cafe / main.bin / vpojava.DLL / SOURCE / FRAME < prev    next >
Text File  |  1998-03-18  |  2KB  |  102 lines

  1. /*
  2.     A basic extension of the java.awt.Frame class
  3.  */
  4.  
  5. import java.awt.*;
  6.  
  7. public class Frame1 extends Frame
  8. {
  9.     public Frame1()
  10.     {
  11.         // This code is automatically generated by Visual Cafe when you add
  12.         // components to the visual environment. It instantiates and initializes
  13.         // the components. To modify the code, only use code syntax that matches
  14.         // what Visual Cafe can generate, or Visual Cafe may be unable to back
  15.         // parse your Java file into its visual environment.
  16.         //{{INIT_CONTROLS
  17.         setLayout(null);
  18.         setSize(400,300);
  19.         setTitle("A Simple Frame");
  20.         //}}
  21.  
  22.         //{{INIT_MENUS
  23.         //}}
  24.  
  25.         //{{REGISTER_LISTENERS
  26.         SymWindow aSymWindow = new SymWindow();
  27.         this.addWindowListener(aSymWindow);
  28.         //}}
  29.     }
  30.  
  31.     public Frame1(String title)
  32.     {
  33.         this();
  34.         setTitle(title);
  35.     }
  36.  
  37.     /**
  38.      * Shows or hides the component depending on the boolean flag b.
  39.      * @param b  if true, show the component; otherwise, hide the component.
  40.      * @see java.awt.Component#isVisible
  41.      */
  42.     public void setVisible(boolean b)
  43.     {
  44.         if(b)
  45.         {
  46.             setLocation(50, 50);
  47.         }
  48.         super.setVisible(b);
  49.     }
  50.  
  51.     static public void main(String args[])
  52.     {
  53.         (new Frame1()).setVisible(true);
  54.     }
  55.     
  56.     public void addNotify()
  57.     {
  58.         // Record the size of the window prior to calling parents addNotify.
  59.         Dimension d = getSize();
  60.         
  61.         super.addNotify();
  62.  
  63.         if (fComponentsAdjusted)
  64.             return;
  65.  
  66.         // Adjust components according to the insets
  67.         setSize(insets().left + insets().right + d.width, insets().top + insets().bottom + d.height);
  68.         Component components[] = getComponents();
  69.         for (int i = 0; i < components.length; i++)
  70.         {
  71.             Point p = components[i].getLocation();
  72.             p.translate(insets().left, insets().top);
  73.             components[i].setLocation(p);
  74.         }
  75.         fComponentsAdjusted = true;
  76.     }
  77.  
  78.     // Used for addNotify check.
  79.     boolean fComponentsAdjusted = false;
  80.  
  81.     //{{DECLARE_CONTROLS
  82.     //}}
  83.  
  84.     //{{DECLARE_MENUS
  85.     //}}
  86.  
  87.     class SymWindow extends java.awt.event.WindowAdapter
  88.     {
  89.         public void windowClosing(java.awt.event.WindowEvent event)
  90.         {
  91.             Object object = event.getSource();
  92.             if (object == Frame1.this)
  93.                 Frame1_WindowClosing(event);
  94.         }
  95.     }
  96.     
  97.     void Frame1_WindowClosing(java.awt.event.WindowEvent event)
  98.     {
  99.         setVisible(false);         // hide the Frame
  100.     }
  101. }
  102.