UPMT-master/java/upmt/src/local/ua/PopupFrame.java
package local.ua;



import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Image;
import java.awt.Label;
import java.awt.Panel;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.WindowEvent;



/** Popup frame
 */
class PopupFrame extends Frame
{
   String title;
   Frame caller;

   Button button1 = new Button();

   //Label label1 = new Label();
   Label label1=null;

   //Panel panel1 = new Panel();
   Panel panel1=null;


   public PopupFrame(String frame_title, String text, Color bkgrd_color, Frame caller_frame)
   {  title=frame_title;
      caller=caller_frame;
      if (caller!=null) caller.setEnabled(false);

      panel1=null;
      label1=new Label(text);
      label1.setFont(new java.awt.Font("Monospaced", 0, 12));
      label1.setAlignment(1);
      label1.setBackground(bkgrd_color);

      try
      {  jbInit();
      }
      catch(Exception e)
      {  e.printStackTrace();
      }
   }

   public PopupFrame(String frame_title, Image image, Frame caller_frame)
   {  title=frame_title;
      caller=caller_frame;
      if (caller!=null) caller.setEnabled(false);

      panel1=new ImagePanel(image);
      label1=null;

      try
      {  jbInit();
      }
      catch(Exception e)
      {  e.printStackTrace();
      }
   }


   private void jbInit() throws Exception
   {  this.setTitle(title);
      this.setResizable(false);
      this.addWindowListener(new java.awt.event.WindowAdapter()
      {  public void windowClosing(WindowEvent e) { closeWindow(); }
      });
      button1.setLabel("OK");
      button1.addActionListener(new java.awt.event.ActionListener()
      { public void actionPerformed(ActionEvent e) { closeWindow(); }
      });
      this.add(button1, BorderLayout.SOUTH);

      if (label1!=null) this.add(label1, BorderLayout.CENTER);
      else
      if (panel1!=null) this.add(panel1, BorderLayout.CENTER);

      this.setSize(200,150);
      Point point=caller.getLocationOnScreen();
      Dimension callerSize=caller.getSize();
      Dimension frameSize=this.getSize();
      this.setLocation((callerSize.width - frameSize.width) / 2 + point.x, (callerSize.height - frameSize.height) / 2 + + point.y);
      this.setVisible(true);
   }

   void closeWindow()
   {  if (caller!=null) caller.setEnabled(true);
      this.dispose();
   }

   void this_keyTyped(KeyEvent e)
   {

   }
}
