home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VCafe / WDESAMPL.BIN / TextBoundFrame.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-03-14  |  7.0 KB  |  251 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.Choice;
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Font;
  7. import java.awt.Frame;
  8. import java.awt.Label;
  9. import java.awt.Panel;
  10. import java.awt.TextArea;
  11. import java.awt.Window;
  12. import java.awt.event.InputEvent;
  13. import java.awt.event.ItemEvent;
  14. import java.awt.event.ItemListener;
  15. import java.awt.event.KeyEvent;
  16. import java.awt.event.KeyListener;
  17. import java.awt.event.WindowEvent;
  18. import java.awt.event.WindowListener;
  19. import java.text.BreakIterator;
  20. import java.util.EventObject;
  21.  
  22. class TextBoundFrame extends Frame implements WindowListener, ItemListener, KeyListener {
  23.    private static final String creditString = "v1.1a9, Demo";
  24.    private static final String copyrightString = "";
  25.    private static final String copyrightString2 = "";
  26.    private static final int FIELD_COLUMNS = 45;
  27.    private static final Font choiceFont = null;
  28.    private static final boolean DEBUG = false;
  29.    private DemoApplet applet;
  30.    final String right = "-->";
  31.    final String left = "<--";
  32.    // $FF: renamed from: enum java.text.BreakIterator
  33.    private BreakIterator field_0;
  34.    TextArea text;
  35.    Choice bound;
  36.  
  37.    public TextBoundFrame(DemoApplet var1) {
  38.       this.applet = var1;
  39.       ((Window)this).addWindowListener(this);
  40.       this.init();
  41.       this.start();
  42.    }
  43.  
  44.    public void run() {
  45.    }
  46.  
  47.    public int getSelectionStart() {
  48.       return this.text.getSelectionStart() & 32767;
  49.    }
  50.  
  51.    public int getSelectionEnd() {
  52.       return this.text.getSelectionEnd() & 32767;
  53.    }
  54.  
  55.    public synchronized void checkChange() {
  56.       int var1 = this.field_0.following(this.getSelectionStart());
  57.       int var2 = this.field_0.previous();
  58.       this.selectRange(var2, var1);
  59.    }
  60.  
  61.    public final synchronized void selectRange(int var1, int var2) {
  62.       try {
  63.          this.text.select(var1, var2);
  64.          if (this.getSelectionStart() != var1 || this.getSelectionEnd() != var2) {
  65.             System.out.println("AGH! select(" + var1 + "," + var2 + ") -> (" + this.getSelectionStart() + "," + this.getSelectionEnd() + ")");
  66.          }
  67.  
  68.       } catch (Exception var4) {
  69.          this.errorText(((Throwable)var4).toString());
  70.       }
  71.    }
  72.  
  73.    public void init() {
  74.       this.buildGUI();
  75.    }
  76.  
  77.    public void start() {
  78.    }
  79.  
  80.    void addWithFont(Container var1, Component var2, Font var3) {
  81.       if (var3 != null) {
  82.          var2.setFont(var3);
  83.       }
  84.  
  85.       var1.add(var2);
  86.    }
  87.  
  88.    public void buildGUI() {
  89.       ((Component)this).setBackground(Color.white);
  90.       ((Container)this).setLayout(new BorderLayout());
  91.       Panel var1 = new Panel();
  92.       Label var2 = new Label("Text Boundary Demo", 1);
  93.       ((Component)var2).setFont(Utility.titleFont);
  94.       ((Container)var1).add(var2);
  95.       Label var3 = new Label("v1.1a9, Demo", 1);
  96.       ((Component)var3).setFont(Utility.creditFont);
  97.       ((Container)var1).add(var3);
  98.       Panel var4 = new Panel();
  99.       Label var5 = new Label("Boundaries", 0);
  100.       ((Component)var5).setFont(Utility.labelFont);
  101.       ((Container)var4).add(var5);
  102.       this.bound = new Choice();
  103.       this.bound.addItemListener(this);
  104.       this.bound.addItem("Sentence");
  105.       this.bound.addItem("Line Break");
  106.       this.bound.addItem("Word");
  107.       this.bound.addItem("Char");
  108.       if (null != null) {
  109.          this.bound.setFont((Font)null);
  110.       }
  111.  
  112.       ((Container)var4).add(this.bound);
  113.       ((Container)var1).add(var4);
  114.       Utility.fixGrid(var1, 1);
  115.       ((Container)this).add("North", var1);
  116.       byte var6 = 15;
  117.       byte var7 = 50;
  118.       this.text = new TextArea(this.getInitialText(), var6, var7);
  119.       this.text.addKeyListener(this);
  120.       this.text.setEditable(true);
  121.       this.text.selectAll();
  122.       this.text.setFont(Utility.editFont);
  123.       ((Container)this).add("Center", this.text);
  124.       Panel var8 = new Panel();
  125.       this.addWithFont(var8, new Label("", 0), Utility.creditFont);
  126.       this.addWithFont(var8, new Label("", 0), Utility.creditFont);
  127.       Utility.fixGrid(var8, 1);
  128.       ((Container)this).add("South", var8);
  129.       this.handleEnumChanged();
  130.    }
  131.  
  132.    public String getInitialText() {
  133.       return "(\"This is a complete sentence.\") This is (\"not.\") also. \nAn abbreviation in the middle, etc. and one at the end, etc. This\nis a simple sample 012.566,5 sentence. It doesn't\nhave to make any sense, as you can see. Nel mezzo del \ncammin di nostra vita, mi ritrovai in una selva oscura. Che\nla dritta via aveo smarrita. Not on my time (el timo.)! And\ntabulated columns: \tCol1\tCol2\t3,456%.\t\nIs this a question???  I wonder... Hmm. Harris thumbed\ndown several, including \"Away We Go\" (which became the \nhuge success Oklahoma!). One species, B. anthracis, is \nhighly virulent. Wolf said about Sounder: \"Beautifully \nthought-out and directed.\" Have you ever said, \"This is where I\nshall live\"? He said 1000,233,456.000 and answered, \"You may not!\" \nAnother popular saying is: \"How do you do?\". What is the \nproper use of the abbreviation pp.? Yes, I am 12' 3\" tall!!";
  134.    }
  135.  
  136.    public void handleEnumChanged() {
  137.       String var1 = this.bound.getSelectedItem();
  138.       if (var1.equals("Char")) {
  139.          this.errorText("getCharacterInstance");
  140.          this.field_0 = BreakIterator.getCharacterInstance();
  141.       } else if (var1.equals("Word")) {
  142.          this.errorText("tWordBreak");
  143.          this.field_0 = BreakIterator.getWordInstance();
  144.       } else if (var1.equals("Line Break")) {
  145.          this.errorText("getLineInstance");
  146.          this.field_0 = BreakIterator.getLineInstance();
  147.       } else {
  148.          this.errorText("getSentenceInstance");
  149.          this.field_0 = BreakIterator.getSentenceInstance();
  150.       }
  151.  
  152.       this.field_0.setText(this.text.getText());
  153.       this.selectRange(0, 0);
  154.    }
  155.  
  156.    public void handleForward() {
  157.       try {
  158.          this.field_0.setText(this.text.getText());
  159.          this.getSelectionStart();
  160.          int var1 = this.getSelectionEnd();
  161.          if (var1 < 1) {
  162.             this.selectRange(0, this.field_0.following(0));
  163.          } else {
  164.             int var2 = this.field_0.following(var1 - 1);
  165.             int var3 = this.field_0.next();
  166.             if (var3 == -1) {
  167.                var3 = var2;
  168.             }
  169.  
  170.             this.selectRange(var2, var3);
  171.          }
  172.       } catch (Exception var4) {
  173.          this.errorText(((Throwable)var4).toString());
  174.       }
  175.    }
  176.  
  177.    public void handleBackward() {
  178.       try {
  179.          this.field_0.setText(this.text.getText());
  180.          int var1 = this.getSelectionStart();
  181.          this.getSelectionEnd();
  182.          if (var1 < 1) {
  183.             this.selectRange(0, 0);
  184.          } else {
  185.             int var2 = this.field_0.following(var1 - 1);
  186.             int var3 = this.field_0.previous();
  187.             this.selectRange(var3, var2);
  188.          }
  189.       } catch (Exception var4) {
  190.          this.errorText(((Throwable)var4).toString());
  191.       }
  192.    }
  193.  
  194.    public void itemStateChanged(ItemEvent var1) {
  195.       if (((EventObject)var1).getSource() instanceof Choice) {
  196.          this.handleEnumChanged();
  197.       }
  198.  
  199.    }
  200.  
  201.    public void keyPressed(KeyEvent var1) {
  202.       if (var1.getKeyCode() == 39) {
  203.          ((InputEvent)var1).consume();
  204.          this.handleForward();
  205.       } else {
  206.          if (var1.getKeyCode() == 37) {
  207.             ((InputEvent)var1).consume();
  208.             this.handleBackward();
  209.          }
  210.  
  211.       }
  212.    }
  213.  
  214.    public void keyReleased(KeyEvent var1) {
  215.    }
  216.  
  217.    public void keyTyped(KeyEvent var1) {
  218.    }
  219.  
  220.    public void windowClosed(WindowEvent var1) {
  221.    }
  222.  
  223.    public void windowDeiconified(WindowEvent var1) {
  224.    }
  225.  
  226.    public void windowIconified(WindowEvent var1) {
  227.    }
  228.  
  229.    public void windowActivated(WindowEvent var1) {
  230.    }
  231.  
  232.    public void windowDeactivated(WindowEvent var1) {
  233.    }
  234.  
  235.    public void windowOpened(WindowEvent var1) {
  236.    }
  237.  
  238.    public void windowClosing(WindowEvent var1) {
  239.       ((Component)this).setVisible(false);
  240.       ((Frame)this).dispose();
  241.       if (this.applet != null) {
  242.          this.applet.demoClosed();
  243.       } else {
  244.          System.exit(0);
  245.       }
  246.    }
  247.  
  248.    public void errorText(String var1) {
  249.    }
  250. }
  251.