home *** CD-ROM | disk | FTP | other *** search
/ Java Developer's Companion / Java Developer's Companion.iso / documentation / jdk113 / docs / guide / awt / 10exampl / DialogWi.jav < prev    next >
Encoding:
Text File  |  1997-08-16  |  2.3 KB  |  91 lines

  1. import java.awt.*;
  2.  
  3. public class DialogWindow extends Frame {
  4.     private boolean inAnApplet = true;
  5.     private SimpleDialog dialog;
  6.     private TextArea textArea;
  7.  
  8.     public DialogWindow() {
  9.         textArea = new TextArea(5, 40);
  10.         textArea.setEditable(false);
  11.         add("Center", textArea);
  12.         Button button = new Button("Click to bring up dialog");
  13.         Panel panel = new Panel();
  14.         panel.add(button);
  15.         add("South", panel);
  16.     }
  17.  
  18.     public boolean handleEvent(Event event) {
  19.         if (event.id == Event.WINDOW_DESTROY) {
  20.             if (inAnApplet) {
  21.                 dispose();
  22.             } else {
  23.                 System.exit(0);
  24.             }
  25.         }   
  26.         return super.handleEvent(event);
  27.     }
  28.  
  29.     public boolean action(Event event, Object arg) {
  30.         if (dialog == null) {
  31.             dialog = new SimpleDialog(this, "A Simple Dialog");
  32.         }
  33.         dialog.show();
  34.         return true;
  35.     }
  36.  
  37.     public void setText(String text) {
  38.         textArea.appendText(text + "\n");
  39.     }
  40.  
  41.     public static void main(String args[]) {
  42.         DialogWindow window = new DialogWindow();
  43.         window.inAnApplet = false;
  44.  
  45.         window.setTitle("DialogWindow Application");
  46.         window.pack();
  47.         window.show();
  48.     }
  49. }
  50.  
  51. class SimpleDialog extends Dialog {
  52.     TextField field;
  53.     DialogWindow parent;
  54.     Button setButton;
  55.  
  56.     SimpleDialog(Frame dw, String title) {
  57.         super(dw, title, false);
  58.         parent = (DialogWindow)dw;
  59.  
  60.         //Create middle section.
  61.     Panel p1 = new Panel();
  62.         Label label = new Label("Enter random text here:");
  63.         p1.add(label);
  64.         field = new TextField(40);
  65.     p1.add(field);
  66.         add("Center", p1);
  67.  
  68.         //Create bottom row.
  69.         Panel p2 = new Panel();
  70.         p2.setLayout(new FlowLayout(FlowLayout.RIGHT));
  71.         Button b = new Button("Cancel");
  72.         setButton = new Button("Set");
  73.         p2.add(b);
  74.         p2.add(setButton);
  75.         add("South", p2);
  76.  
  77.     //Initialize this dialog to its preferred size.
  78.     pack();
  79.     }
  80.  
  81.     public boolean action(Event event, Object arg) {
  82.         if ( (event.target == setButton)
  83.            | (event.target == field)) {
  84.             parent.setText(field.getText());
  85.         }
  86.         field.selectAll();
  87.         hide();
  88.         return true;
  89.     }
  90. }
  91.