package ChaosDemos; //********************************************************************* import java.awt.*; /** * Class to implement warning dialog box.
* Uses Frame instead of Dialog since some java machines * do not implement the Dialog class yet.
* If the parent Frame is known, window pops up in pleasing * relationship to parent window * @version March 15 1997 * @author Michael Cross */ public class alertDialog extends Frame { private Button b; private Frame parent=null; //********************************************************************** /** * Constructor: default window position is used * @param message message to be displayed */ //********************************************************************** public alertDialog(String message) { addNotify(); reshape(100,100,300,120); showWindow(message); } //********************************************************************** /** Constructor with parent Frame. Window pops up in pleasign * relationship to parent. If null is passed a default * position is used for the popup window. * @param target reference to parent window * @param message text to be displayed */ //********************************************************************** public alertDialog(Frame target, String message) { parent = target; addNotify(); if(parent != null) { Rectangle r = parent.bounds(); if(r.width > 0 && r.height >0) reshape(r.x+r.width/3,r.y+r.height/3,300,120); else reshape(100,100,300,120); } else reshape(100,100,300,120); showWindow(message); } //********************************************************************** //** Create window with error message //********************************************************************** void showWindow(String message) { setTitle("Data Alert!"); setLayout(new FlowLayout(FlowLayout.CENTER)); TextField t =new TextField(" "+message+" "); add(t); Color c = getBackground(); t.setBackground(c); t.setEditable(false); b = new Button("OK"); add("South",b); show(); } //********************************************************************** //** Button disposes of window //********************************************************************** public boolean action(Event evt, Object arg) { if(evt.target instanceof Button) { dispose(); return true; } else return false; } //********************************************************************** //** Implement close window. Also dispose on iconify. //********************************************************************** public boolean handleEvent(Event evt) { switch (evt.id) { case Event.WINDOW_DESTROY: dispose(); return true; case Event.WINDOW_ICONIFY: dispose(); return true; default: return super.handleEvent(evt); } } } //********************************************************************** //**********************************************************************