home *** CD-ROM | disk | FTP | other *** search
/ Java by Example / jbecd.bin / JBE-CD / Mje / MJEDialogs.java < prev    next >
Text File  |  1996-04-08  |  3KB  |  153 lines

  1. //
  2. // Mini Java Editor dialogs
  3. //
  4.  
  5. import java.awt.*;
  6.  
  7. //
  8. // Go to line dialog
  9. //
  10.  
  11. class GotoDialog extends Dialog {
  12.   MJEWindow win;
  13.   TextField lineText;
  14.  
  15.   public GotoDialog(Frame parent) {
  16.     super(parent, "Go to Line...", false);
  17.  
  18.     win = (MJEWindow) parent;
  19.     lineText = new TextField("", 7);
  20.  
  21.     add("West", new Label("Line:"));
  22.     add("Center", lineText);
  23.     add("East", new Button(" Go "));
  24.   }
  25.  
  26.   public boolean handleEvent(Event evt) {
  27.     if (evt.id == Event.WINDOW_DESTROY) 
  28.       dispose();
  29.  
  30.     return super.handleEvent(evt);
  31.   }
  32.  
  33.   public boolean action(Event evt, Object obj) {
  34.  //   if (evt.target instanceof Button) {
  35.       win.gotoLine(new Integer(lineText.getText()).intValue());
  36.       return true;
  37.   //  }
  38.  
  39. //    return false;
  40.   }
  41. }
  42.  
  43. //
  44. // Find dialog
  45. //
  46.   
  47. class FindDialog extends Dialog {
  48.   MJEWindow win;
  49.   TextField findText, replaceText;
  50.   Checkbox match;
  51.  
  52.   public FindDialog(Frame parent) {
  53.     super(parent, "Find...", false);
  54.  
  55.     win = (MJEWindow) parent;
  56.     findText = new TextField("", 8);
  57.     replaceText = new TextField("", 8);    
  58.     match = new Checkbox("Match Case");
  59.  
  60.     HVPanel p1 = new HVPanel(HVPanel.HORIZONTAL, 5, 0, 0);
  61.     p1.add(0, new Label("Find:"));
  62.     p1.add(0, findText);
  63.     p1.add(0, new Label("Replace:"));
  64.     p1.add(0, replaceText);
  65.  
  66.     HVPanel p2 = new HVPanel(HVPanel.HORIZONTAL, 5, 0, 0);
  67.     p2.add(0, match);
  68.     p2.add(0, new Button("Find"));
  69.     p2.add(0, new Button("Replace"));
  70.  
  71.     add("North", p1);
  72.     add("South", p2);
  73.   }
  74.  
  75.   public boolean handleEvent(Event evt) {
  76.     if (evt.id == Event.WINDOW_DESTROY) 
  77.       dispose();
  78.  
  79.     return super.handleEvent(evt);
  80.   }
  81.  
  82.   public boolean action(Event evt, Object obj) {
  83.     if (evt.target instanceof Button) {
  84.       String name = (String) obj;
  85.       TextArea area = win.getTextArea();
  86.  
  87.     // Replace text
  88.  
  89.       if (obj.equals("Replace")) {
  90.     int start = area.getSelectionStart();
  91.     int end = area.getSelectionEnd();
  92.  
  93.     if (end > start) 
  94.       area.replaceText(replaceText.getText(), start, end);
  95.       }
  96.  
  97.     // Find text
  98.  
  99.       String txt, str;
  100.     
  101.       if (match.getState()) {
  102.     txt = area.getText();
  103.     str = findText.getText();
  104.       }
  105.       else {
  106.         txt = area.getText().toLowerCase();
  107.     str = findText.getText().toLowerCase();
  108.       }
  109.  
  110.       area.requestFocus();
  111.       int pos = txt.indexOf(str, area.getSelectionEnd());
  112.     
  113.       if (pos > 0)
  114.     area.select(pos, pos + str.length());
  115.     
  116.       return true;
  117.     }
  118.  
  119.     if (evt.target instanceof Checkbox)
  120.     return true;
  121.     
  122.     return false;
  123.   }
  124. }
  125.  
  126. //
  127. // Info dialog
  128. //
  129.  
  130. class InfoDialog extends Dialog {
  131.   public InfoDialog(Frame parent, String title, String msg) {
  132.     super(parent, title, true);
  133.  
  134.     Label text = new Label(msg);
  135.     Button button = new Button("OK");
  136.  
  137.     HVPanel p1 = new HVPanel(HVPanel.HORIZONTAL, 5, 0, 80);
  138.     p1.add(0, button);
  139.  
  140.     HVPanel p2 = new HVPanel(HVPanel.VERTICAL, 5, 5, 0);
  141.     p2.add(0, text);
  142.     p2.add(0, p1);
  143.  
  144.     add("Center", p2);    
  145.   }
  146.  
  147.   public boolean action(Event evt, Object obj) {
  148.     dispose();
  149.     return true;
  150.   }
  151. }
  152.  
  153.