home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / inprise / JSAMPLES.Z / TextEditFrame.java < prev    next >
Text File  |  1998-05-08  |  22KB  |  690 lines

  1. /*
  2.  * Copyright (c) 1997-1998 Borland International, Inc. All Rights Reserved.
  3.  * 
  4.  * This SOURCE CODE FILE, which has been provided by Borland as part
  5.  * of a Borland product for use ONLY by licensed users of the product,
  6.  * includes CONFIDENTIAL and PROPRIETARY information of Borland.  
  7.  *
  8.  * USE OF THIS SOFTWARE IS GOVERNED BY THE TERMS AND CONDITIONS 
  9.  * OF THE LICENSE STATEMENT AND LIMITED WARRANTY FURNISHED WITH
  10.  * THE PRODUCT.
  11.  *
  12.  * IN PARTICULAR, YOU WILL INDEMNIFY AND HOLD BORLAND, ITS RELATED
  13.  * COMPANIES AND ITS SUPPLIERS, HARMLESS FROM AND AGAINST ANY CLAIMS
  14.  * OR LIABILITIES ARISING OUT OF THE USE, REPRODUCTION, OR DISTRIBUTION
  15.  * OF YOUR PROGRAMS, INCLUDING ANY CLAIMS OR LIABILITIES ARISING OUT OF
  16.  * OR RESULTING FROM THE USE, MODIFICATION, OR DISTRIBUTION OF PROGRAMS
  17.  * OR FILES CREATED FROM, BASED ON, AND/OR DERIVED FROM THIS SOURCE
  18.  * CODE FILE.
  19.  */
  20. package borland.samples.tutorial.textedit;
  21.  
  22. import java.io.*;
  23. import java.awt.*;
  24. import java.awt.event.*;
  25. import borland.jbcl.control.*;
  26. import borland.jbcl.layout.*;
  27.  
  28. public class TextEditFrame extends DecoratedFrame {
  29.   BorderLayout borderLayout1 = new BorderLayout();
  30.   BevelPanel bevelPanel1 = new BevelPanel();
  31.   MenuBar menuBar1 = new MenuBar();
  32.   Menu menuFile = new Menu();
  33.   MenuItem menuFileExit = new MenuItem();
  34.   Menu menuHelp = new Menu();
  35.   MenuItem menuHelpAbout = new MenuItem();
  36.   ButtonBar buttonBar = new ButtonBar();
  37.   StatusBar statusBar = new StatusBar();
  38.   BorderLayout borderLayout2 = new BorderLayout();
  39.   TextArea textArea1 = new TextArea();
  40.   MenuItem menuItem1 = new MenuItem();
  41.   MenuItem menuItem2 = new MenuItem();
  42.   MenuItem menuItem3 = new MenuItem();
  43.   MenuItem menuItem4 = new MenuItem();
  44.   Menu menu1 = new Menu();
  45.   MenuItem menuItem5 = new MenuItem();
  46.   MenuItem menuItem6 = new MenuItem();
  47.   MenuItem menuItem7 = new MenuItem();
  48.   FontChooser fontChooser1 = new FontChooser();
  49.   ColorChooser colorChooser1 = new ColorChooser();
  50.   Filer filer1 = new Filer();
  51.   String currFileName = null;  // path plus filename. null means new / untitled
  52.   boolean dirty = false;  // true means modified text
  53.   Message message1 = new Message();
  54.  
  55.   //Construct the frame
  56.   public TextEditFrame() {
  57.     try {
  58.       jbInit();
  59.       updateCaption();
  60.     }
  61.     catch (Exception e) {
  62.       e.printStackTrace();
  63.     }
  64.   }
  65.  
  66.   //Component initialization
  67.   public void jbInit() throws Exception{
  68.     this.setLayout(borderLayout1);
  69.     this.setSize(new Dimension(400, 300));
  70.     this.setTitle("TextEdit");
  71.     menuFile.setLabel("File");
  72.     menuFileExit.setLabel("Exit");
  73.     menuFileExit.addActionListener(new TextEditFrame_menuFileExit_ActionAdapter(this));
  74.     menuHelp.setLabel("Help");
  75.     menuHelpAbout.setLabel("About");
  76.     menuHelpAbout.addActionListener(new TextEditFrame_menuHelpAbout_ActionAdapter(this));
  77.     buttonBar.setButtonType(ButtonBar.IMAGE_ONLY);
  78.     buttonBar.setLabels(new String[] {"Open", "Save", "About"});
  79.     textArea1.addTextListener(new TextEditFrame_textArea1_textAdapter(this));
  80.     buttonBar.addActionListener(new TextEditFrame_buttonBar_actionAdapter(this));
  81.     menuItem1.setLabel("New");
  82.     menuItem1.addActionListener(new TextEditFrame_menuItem1_actionAdapter(this));
  83.     menuItem2.setLabel("Open");
  84.     menuItem2.addActionListener(new TextEditFrame_menuItem2_actionAdapter(this));
  85.     menuItem3.setLabel("Save");
  86.     menuItem3.addActionListener(new TextEditFrame_menuItem3_actionAdapter(this));
  87.     menuItem4.setLabel("Save As");
  88.     menuItem4.addActionListener(new TextEditFrame_menuItem4_actionAdapter(this));
  89.     menu1.setLabel("Edit");
  90.     menuItem5.setLabel("Font");
  91.     menuItem5.addActionListener(new TextEditFrame_menuItem5_actionAdapter(this));
  92.     menuItem6.setLabel("Foreground Color");
  93.     menuItem6.addActionListener(new TextEditFrame_menuItem6_actionAdapter(this));
  94.     menuItem7.setLabel("Background Color");
  95.     menuItem7.addActionListener(new TextEditFrame_menuItem7_actionAdapter(this));
  96.     fontChooser1.setFrame(this);
  97.     fontChooser1.setTitle("Font");
  98.     colorChooser1.setFrame(this);
  99.     filer1.setFrame(this);
  100.     message1.setFrame(this);
  101.     buttonBar.setImageBase("image");
  102.     buttonBar.setImageNames(new String[] {"openFile.gif", "closeFile.gif", "help.gif"});
  103.     bevelPanel1.setLayout(borderLayout2);
  104.     menuFile.add(menuItem1);
  105.     menuFile.add(menuItem2);
  106.     menuFile.add(menuItem3);
  107.     menuFile.add(menuItem4);
  108.     menuFile.addSeparator();
  109.     menuFile.add(menuFileExit);
  110.     menuHelp.add(menuHelpAbout);
  111.     menuBar1.add(menuFile);
  112.     menuBar1.add(menu1);
  113.     menuBar1.add(menuHelp);
  114.     this.setMenuBar(menuBar1);
  115.     this.add(buttonBar, BorderLayout.NORTH);
  116.     this.add(statusBar, BorderLayout.SOUTH);
  117.     this.add(bevelPanel1, BorderLayout.CENTER);
  118.     bevelPanel1.add(textArea1, BorderLayout.CENTER);
  119.     menu1.add(menuItem5);
  120.     menu1.add(menuItem6);
  121.     menu1.add(menuItem7);
  122.   }
  123.  
  124.   /**
  125.    * Display the About box.
  126.    */
  127.   void helpAbout() {
  128.     TextEditFrame_AboutBox dlg = new TextEditFrame_AboutBox(this);
  129.     Dimension dlgSize = dlg.getPreferredSize();
  130.     Dimension frmSize = getSize();
  131.     Point loc = getLocation();
  132.     dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);
  133.     dlg.setModal(true);
  134.     dlg.show();
  135.   }
  136.  
  137.   /**
  138.    * Handle the File|Open menu or button, invoking okToAbandon and openFile
  139.    * as needed.
  140.    */
  141.   void fileOpen() {
  142.     if (!okToAbandon()) {
  143.       return;
  144.     }
  145.  
  146.     // Filer makes use of a java.awt.FileDialog, and so its
  147.     // mode property uses the same values as those of FileDialog.
  148.     filer1.setMode(FileDialog.LOAD); // Use the OPEN version of the dialog.
  149.  
  150.     // Make the dialog visible as a modal (default) dialog box.
  151.     filer1.show();
  152.  
  153.     // Upon return, getFile() will be null if user cancelled the dialog.
  154.     if (filer1.getFile() != null) {
  155.       // Non-null file property after return implies user
  156.       // selected a file to open.
  157.  
  158.       // Call openFile to attempt to load the text from file into TextArea
  159.       openFile(filer1.getDirectory()+filer1.getFile());
  160.     }
  161.   }
  162.  
  163.   /**
  164.    * Open named file; read text from file into textArea1; report to statusBar.
  165.    * @param fileName the name of the text file on disk
  166.    */
  167.   void openFile(String fileName)
  168.   {
  169.     try
  170.     {
  171.       // Open a file of the given name.
  172.       File file = new File(fileName);
  173.  
  174.       // Get the size of the opened file.
  175.       int size = (int)file.length();
  176.  
  177.       // Set to zero a counter for counting the number of
  178.       // characters that have been read from the file.
  179.       int chars_read = 0;
  180.  
  181.       // Create an input reader based on the file, so we can read its data.
  182.       // FileReader handles international character encoding conversions.
  183.       FileReader in = new FileReader(file);
  184.  
  185.       // Create a character array of the size of the file,
  186.       // to use as a data buffer, into which we will read
  187.       // the text data.
  188.       char[] data = new char[size];
  189.  
  190.       // Read all available characters into the buffer.
  191.       while(in.ready()) {
  192.         // Increment the count for each character read,
  193.         // and accumulate them in the data buffer.
  194.         chars_read += in.read(data, chars_read, size - chars_read);
  195.       }
  196.       in.close();
  197.  
  198.       // Create a temporary string containing the data,
  199.       // and set the string into the TextArea.
  200.       textArea1.setText(new String(data, 0, chars_read));
  201.  
  202.       // Cache the currently opened filename for use at save time...
  203.       this.currFileName = fileName;
  204.       // ...and mark the edit session as being clean
  205.       this.dirty = false;
  206.  
  207.       // Display the name of the opened directory+file in the statusBar.
  208.       statusBar.setText("Opened "+fileName);
  209.  
  210.       updateCaption();
  211.     }
  212.     catch (IOException e)
  213.     {
  214.       statusBar.setText("Error opening "+fileName);
  215.     }
  216.   }
  217.  
  218.   /**
  219.    * Save current file; handle not yet having a filename; report to statusBar.
  220.    * @return false if save did not occur.
  221.    */
  222.   boolean saveFile()
  223.   {
  224.  
  225.     // Handle the case where we don't have a file name yet.
  226.     if (currFileName == null) {
  227.       return saveAsFile();
  228.     }
  229.  
  230.     try
  231.     {
  232.       // Open a file of the current name.
  233.       File file = new File (currFileName);
  234.  
  235.       // Create an output writer that will write to that file.
  236.       // FileWriter handles international characters encoding conversions.
  237.       FileWriter out = new FileWriter(file);
  238.       String text = textArea1.getText();
  239.       out.write(text);
  240.       out.close();
  241.       this.dirty = false;
  242.       updateCaption();
  243.       return true;
  244.     }
  245.     catch (IOException e) {
  246.       statusBar.setText("Error saving "+currFileName);
  247.     }
  248.     return false;
  249.   }
  250.  
  251.   /**
  252.    * Save current file, asking user for new destination name.
  253.    * Report to statuBar.
  254.    * @return false means user cancelled the SaveAs
  255.    */
  256.   boolean saveAsFile() {
  257.     // Filer makes use of a java.awt.FileDialog, so its
  258.     // mode property uses the same values as those of FileDialog.
  259.     filer1.setMode(FileDialog.SAVE); // Use the SAVE version of the dialog.
  260.  
  261.     // Make the dialog visible as a modal (default) dialog box.
  262.     filer1.show();
  263.  
  264.     // Upon return, getFile() will be null if user cancelled the dialog.
  265.     if (filer1.getFile() != null) {
  266.       // Non-null file property after return implies user
  267.       // selected a filename to save to.
  268.  
  269.       // Set the current file name to the user's selection,
  270.       // then do a regular saveFile
  271.       currFileName = filer1.getDirectory()+filer1.getFile();
  272.       return saveFile();
  273.     }
  274.     else {
  275.       return false;
  276.     }
  277.   }
  278.  
  279.   /**
  280.    * Check if file is dirty.
  281.    * If so get user to make a "Save? yes/no/cancel" decision.
  282.    * @return true if user saved here (Yes), or didn't care (No)
  283.    * @return false if user hits cancel.
  284.    */
  285.   boolean okToAbandon() {
  286.     if (!dirty) {
  287.       return true;
  288.     }
  289.     message1.setButtonSet(Message.YES_NO_CANCEL);
  290.     message1.setTitle("Text Edit");
  291.     message1.setMessage("Save changes?");
  292.     message1.show();
  293.     switch (message1.getResult()) {
  294.        case Message.YES:
  295.          // yes, please save changes
  296.          return saveFile();
  297.        case Message.NO:
  298.          // no, abandon edits
  299.          // i.e. return true without saving
  300.          return true;
  301.        case Message.CANCEL:
  302.        default:
  303.          // cancel
  304.          return false;
  305.     }
  306.   }
  307.  
  308.   /**
  309.    * Update the caption of the application to show the filename and its dirty state.
  310.    */
  311.   void updateCaption() {
  312.     String caption;
  313.  
  314.     if (currFileName == null) {
  315.        // synthesize the "Untitled" name if no name yet.
  316.        caption = "Untitled";
  317.     }
  318.     else {
  319.       caption = currFileName;
  320.     }
  321.  
  322.     // add a "*" in the caption if the file is dirty.
  323.     if (dirty) {
  324.       caption = "* " + caption;
  325.     }
  326.     caption = "TextEdit - " + caption;
  327.     this.setTitle(caption);
  328.   }
  329.  
  330.   /**
  331.    * Override DecoratedFrame's system close handler
  332.    */
  333.   protected void processWindowEvent(WindowEvent e) {
  334.     if (e.getID() == WindowEvent.WINDOW_CLOSING) {
  335.       if (okToAbandon()) {
  336.         System.exit(0);
  337.       }
  338.     }
  339.   }
  340.  
  341.   //File | Exit action performed
  342.   public void fileExit_actionPerformed(ActionEvent e) {
  343.     if (okToAbandon()) {
  344.       System.exit(0);
  345.     }
  346.   }
  347.  
  348.   //Help | About action performed
  349.   public void helpAbout_actionPerformed(ActionEvent e) {
  350.     helpAbout();
  351.   }
  352.  
  353.   void menuItem5_actionPerformed(java.awt.event.ActionEvent e) {
  354.     // Handle the "Edit Font" menu item
  355.  
  356.     // Pick up the existing font from the TextArea
  357.     // and put it into the FontChooser before showing
  358.     // the FontChooser, so that we are editing the
  359.     // existing / previous font.
  360.     fontChooser1.setValue(textArea1.getFont());
  361.  
  362.     // Show the FontChooser.
  363.     // Since the FontChooser is modal by default,
  364.     // the program will not return from the call
  365.     // to show until the user dismisses the FontChooser
  366.     // using OK or Cancel.
  367.     fontChooser1.show();
  368.  
  369.     // Now that the user has dismissed the FontChooser,
  370.     // obtain the new Font from the FontChooser's
  371.     // value property.  First test the result property to see if the
  372.     // user pressed OK.
  373.     if (fontChooser1.getResult() == FontChooser.OK) {
  374.  
  375.       // Set the font of textArea1 to the font
  376.       // value that can be obtained from the
  377.       // value property of fontChooser1.  This
  378.       // font value is what the user entered
  379.       // before pressing the OK button
  380.       textArea1.setFont(fontChooser1.getValue());
  381.     }
  382.   }
  383.  
  384.   void menuItem6_actionPerformed(ActionEvent e) {
  385.     // Handle the "Foreground Color" menu item
  386.  
  387.     // Pick up the existing text (foreground) color from the TextArea
  388.     // and put it into the ColorChooser before showing
  389.     // the ColorChooser, so that we are editing the
  390.     // existing text color.
  391.     colorChooser1.setValue(textArea1.getForeground());
  392.  
  393.     // Before showing it, set the title of the dialog for its
  394.     // particular use in this event (for setting the text color)
  395.     colorChooser1.setTitle("Set Text Color");
  396.     
  397.     // Show the ColorChooser.
  398.     // Since the ColorChooser is modal by default,
  399.     // the program will not return from the call
  400.     // to show until the user dismisses the ColorChooser
  401.     // using OK or Cancel.
  402.     colorChooser1.show();
  403.     
  404.  
  405.     // Now that the user has dismissed the ColorChooser,
  406.     // obtain the new color from the ColorChooser's
  407.     // value property. First test the result property to see if the
  408.     // user pressed OK.
  409.     if (colorChooser1.getResult() == ColorChooser.OK) {
  410.       // set the foreground of textArea1 to the color
  411.       // value that can be obtained from the
  412.       // value property of colorChooser1.  This
  413.       // color value is what the user set
  414.       // before pressing the OK button
  415.       textArea1.setForeground(colorChooser1.getValue());
  416.     }
  417.   }
  418.  
  419.   void menuItem7_actionPerformed(ActionEvent e) {
  420.     colorChooser1.setValue(textArea1.getBackground());
  421.     colorChooser1.setTitle("Set Background Color");
  422.     colorChooser1.show();
  423.     if (colorChooser1.getResult() == ColorChooser.OK) {
  424.       textArea1.setBackground(colorChooser1.getValue());
  425.     }
  426.   }
  427.  
  428.   void menuItem1_actionPerformed(ActionEvent e) {
  429.     // Handle the File|New menu item.
  430.     if (okToAbandon()) {
  431.       // clear the text of the TextArea
  432.       textArea1.setText("");
  433.       // clear the current filename and set the file as clean:
  434.       currFileName = null;
  435.       dirty = false;
  436.       updateCaption();
  437.     }
  438.   }
  439.  
  440.   void menuItem2_actionPerformed(ActionEvent e) {
  441.     // Handle the File|Open menu item.
  442.     fileOpen();
  443.   }
  444.  
  445.   void menuItem3_actionPerformed(ActionEvent e) {
  446.     saveFile();
  447.   }
  448.  
  449.   void menuItem4_actionPerformed(ActionEvent e) {
  450.     saveAsFile();
  451.   }
  452.  
  453.   void buttonBar_actionPerformed(ActionEvent e) {
  454.     String actionCommand = e.getActionCommand();
  455.     if (actionCommand.equals("Open")) {
  456.       fileOpen();
  457.     }
  458.     else if (actionCommand.equals("Save")) {
  459.       saveFile();
  460.     }
  461.     else if (actionCommand.equals("About")) {
  462.       helpAbout();
  463.     }
  464.   }
  465.  
  466.   void textArea1_textValueChanged(TextEvent e) {
  467.     if (!dirty) {
  468.       dirty = true;
  469.       updateCaption();
  470.     }
  471.   }
  472. }
  473.  
  474. class TextEditFrame_menuFileExit_ActionAdapter implements ActionListener {
  475.   TextEditFrame adaptee;
  476.  
  477.   TextEditFrame_menuFileExit_ActionAdapter(TextEditFrame adaptee) {
  478.     this.adaptee = adaptee;
  479.   }
  480.  
  481.   public void actionPerformed(ActionEvent e) {
  482.     adaptee.fileExit_actionPerformed(e);
  483.   }
  484. }
  485.  
  486. class TextEditFrame_menuHelpAbout_ActionAdapter implements ActionListener {
  487.   TextEditFrame adaptee;
  488.  
  489.   TextEditFrame_menuHelpAbout_ActionAdapter(TextEditFrame adaptee) {
  490.     this.adaptee = adaptee;
  491.   }
  492.  
  493.   public void actionPerformed(ActionEvent e) {
  494.     adaptee.helpAbout_actionPerformed(e);
  495.   }
  496. }
  497.  
  498. class TextEditFrame_AboutBox extends Dialog implements ActionListener {
  499.   Panel panel1 = new Panel();
  500.   BevelPanel bevelPanel1 = new BevelPanel();
  501.   TextEditFrame_InsetsPanel insetsPanel1 = new TextEditFrame_InsetsPanel();
  502.   TextEditFrame_InsetsPanel insetsPanel2 = new TextEditFrame_InsetsPanel();
  503.   TextEditFrame_InsetsPanel insetsPanel3 = new TextEditFrame_InsetsPanel();
  504.   Button button1 = new Button();
  505.   ImageControl imageControl1 = new ImageControl();
  506.   Label label1 = new Label();
  507.   Label label2 = new Label();
  508.   Label label3 = new Label();
  509.   Label label4 = new Label();
  510.   BorderLayout borderLayout1 = new BorderLayout();
  511.   BorderLayout borderLayout2 = new BorderLayout();
  512.   FlowLayout flowLayout1 = new FlowLayout();
  513.   GridLayout gridLayout1 = new GridLayout();
  514.   String product = "Your Product Name";
  515.   String version = "";
  516.   String copyright = "Copyright (c) 1997";
  517.   String comments = "Your description";
  518.  
  519.   public TextEditFrame_AboutBox(Frame parent) {
  520.     super(parent);
  521.     try {
  522.       jbInit();
  523.     }
  524.     catch (Exception e) {
  525.       e.printStackTrace();
  526.     }
  527.     pack();
  528.   }
  529.  
  530.   void jbInit() throws Exception{
  531.     this.setTitle("About");
  532.     setResizable(false);
  533.     panel1.setLayout(borderLayout1);
  534.     bevelPanel1.setLayout(borderLayout2);
  535.     insetsPanel2.setLayout(flowLayout1);
  536.     insetsPanel2.setInsets(new Insets(10, 10, 10, 10));
  537.     gridLayout1.setRows(4);
  538.     gridLayout1.setColumns(1);
  539.     label1.setText(product);
  540.     label2.setText(version);
  541.     label3.setText(copyright);
  542.     label4.setText(comments);
  543.     insetsPanel3.setLayout(gridLayout1);
  544.     insetsPanel3.setInsets(new Insets(10, 60, 10, 10));
  545.     button1.setLabel("OK");
  546.     button1.addActionListener(this);
  547.     imageControl1.setImageName("");
  548.     insetsPanel2.add(imageControl1, null);
  549.     bevelPanel1.add(insetsPanel2, BorderLayout.WEST);
  550.     this.add(panel1, null);
  551.     insetsPanel3.add(label1, null);
  552.     insetsPanel3.add(label2, null);
  553.     insetsPanel3.add(label3, null);
  554.     insetsPanel3.add(label4, null);
  555.     bevelPanel1.add(insetsPanel3, BorderLayout.CENTER);
  556.     insetsPanel1.add(button1, null);
  557.     panel1.add(insetsPanel1, BorderLayout.SOUTH);
  558.     panel1.add(bevelPanel1, BorderLayout.NORTH);
  559.     pack();
  560.   }
  561.  
  562.   public void actionPerformed(ActionEvent e) {
  563.     if (e.getSource() == button1) {
  564.     setVisible(false);
  565.     dispose();
  566.     }
  567.   }
  568. }
  569.  
  570. class TextEditFrame_InsetsPanel extends Panel {
  571.   protected Insets insets;
  572.  
  573.   public Insets getInsets() {
  574.     return insets == null ? super.getInsets() : insets;
  575.   }
  576.  
  577.   public void setInsets(Insets insets) {
  578.     this.insets = insets;
  579.   }
  580. }
  581.  
  582. class TextEditFrame_menuItem5_actionAdapter implements java.awt.event.ActionListener {
  583.   TextEditFrame adaptee;
  584.  
  585.   TextEditFrame_menuItem5_actionAdapter(TextEditFrame adaptee) {
  586.     this.adaptee = adaptee;
  587.   }
  588.  
  589.   public void actionPerformed(ActionEvent e) {
  590.     adaptee.menuItem5_actionPerformed(e);
  591.   }
  592. }
  593.  
  594. class TextEditFrame_menuItem6_actionAdapter implements java.awt.event.ActionListener {
  595.   TextEditFrame adaptee;
  596.  
  597.   TextEditFrame_menuItem6_actionAdapter(TextEditFrame adaptee) {
  598.     this.adaptee = adaptee;
  599.   }
  600.  
  601.   public void actionPerformed(ActionEvent e) {
  602.     adaptee.menuItem6_actionPerformed(e);
  603.   }
  604. }
  605.  
  606. class TextEditFrame_menuItem7_actionAdapter implements java.awt.event.ActionListener {
  607.   TextEditFrame adaptee;
  608.  
  609.   TextEditFrame_menuItem7_actionAdapter(TextEditFrame adaptee) {
  610.     this.adaptee = adaptee;
  611.   }
  612.  
  613.   public void actionPerformed(ActionEvent e) {
  614.     adaptee.menuItem7_actionPerformed(e);
  615.   }
  616. }
  617.  
  618. class TextEditFrame_menuItem1_actionAdapter implements java.awt.event.ActionListener {
  619.   TextEditFrame adaptee;
  620.  
  621.   TextEditFrame_menuItem1_actionAdapter(TextEditFrame adaptee) {
  622.     this.adaptee = adaptee;
  623.   }
  624.  
  625.   public void actionPerformed(ActionEvent e) {
  626.     adaptee.menuItem1_actionPerformed(e);
  627.   }
  628. }
  629.  
  630. class TextEditFrame_menuItem2_actionAdapter implements java.awt.event.ActionListener {
  631.   TextEditFrame adaptee;
  632.  
  633.   TextEditFrame_menuItem2_actionAdapter(TextEditFrame adaptee) {
  634.     this.adaptee = adaptee;
  635.   }
  636.  
  637.   public void actionPerformed(ActionEvent e) {
  638.     adaptee.menuItem2_actionPerformed(e);
  639.   }
  640. }
  641.  
  642. class TextEditFrame_menuItem3_actionAdapter implements java.awt.event.ActionListener {
  643.   TextEditFrame adaptee;
  644.  
  645.   TextEditFrame_menuItem3_actionAdapter(TextEditFrame adaptee) {
  646.     this.adaptee = adaptee;
  647.   }
  648.  
  649.   public void actionPerformed(ActionEvent e) {
  650.     adaptee.menuItem3_actionPerformed(e);
  651.   }
  652. }
  653.  
  654. class TextEditFrame_menuItem4_actionAdapter implements java.awt.event.ActionListener {
  655.   TextEditFrame adaptee;
  656.  
  657.   TextEditFrame_menuItem4_actionAdapter(TextEditFrame adaptee) {
  658.     this.adaptee = adaptee;
  659.   }
  660.  
  661.   public void actionPerformed(ActionEvent e) {
  662.     adaptee.menuItem4_actionPerformed(e);
  663.   }
  664. }
  665.  
  666. class TextEditFrame_buttonBar_actionAdapter implements java.awt.event.ActionListener {
  667.   TextEditFrame adaptee;
  668.  
  669.   TextEditFrame_buttonBar_actionAdapter(TextEditFrame adaptee) {
  670.     this.adaptee = adaptee;
  671.   }
  672.  
  673.   public void actionPerformed(ActionEvent e) {
  674.     adaptee.buttonBar_actionPerformed(e);
  675.   }
  676. }
  677.  
  678. class TextEditFrame_textArea1_textAdapter implements java.awt.event.TextListener {
  679.   TextEditFrame adaptee;
  680.  
  681.   TextEditFrame_textArea1_textAdapter(TextEditFrame adaptee) {
  682.     this.adaptee = adaptee;
  683.   }
  684.  
  685.   public void textValueChanged(TextEvent e) {
  686.     adaptee.textArea1_textValueChanged(e);
  687.   }
  688. }
  689.  
  690.