Code: (unfinished, you can use) package proe;
Import java.aw. *; import javax.swing. *; / ** *
Title: Program Editor P> *
Description: Enhanced Text Editing P> *
CopyRight : Copyright (C) 2005 P> *
Company: p> * @ Author Red Tie * @ Version 0.1 * /
Public class proe {// Defines the editor's form proeframe processow; // Defines the editor program itself private static prope ProEAPP;
/ ** * The start point of the application. * @ param args string [] * / public static void main (string [] args) {proEapp.init (); proEapp.init ();} proeapp.init ();} proEVate void init () {// Initialization Form ProEwindow = New Proeframe "program editor"); Toolkit toolkit = proEWindow.getToolkit (); Dimension screenSize = toolkit.getScreenSize (); proEWindow.setBounds (0, 0, (int) screenSize.getWidth () / 2, (int) screenSize.getHeight () / 2); processow.setvisible (true);}} =================================== ========================================================== Package PROE;
Import java.awt. *; import javax.swing. *; import java.awt.event. *; import java.io. *;
/ ** *
Title: Program Editor P> *
Description: Enhanced Text Editing P> *
Copyright: CopyRight (C) 2005 P> *
Company: p> * @ Author Red Tie * @ Version 0.1 * / Class Proeframe Extends JFrame {Private Jfilechooser Filechooser = New Jfilechooser ();
private JMenuBar menuBar; private JMenu file, edit, format, help; private JMenuItem newItem, openItem, saveItem, saveAsItem, pageSetItem, printItem, exitItem; private JMenuItem undoItem, cutItem, copyItem, pasteItem, deleteItem, findItem, findNextItem, replaceItem, goToLineItem, selectAllItem, timeItem; private JMenuItem autoNextLineItem, fontItem; private JMenuItem helpItem, aboutItem; private JTextArea textArea; private JScrollPane scrollPane; private final int TAB_SIZE = 4; private File fileName; private boolean firstSave = true;
Public Proeframe (String Title) {// Settings Forms The title bar and the default shutdown operation Super (Title); setDefaultcloseOperation (Dispose_ON_CLOSE);
// Set the content of the menu and menu MenuBar = new jmenubar (); file = new jmenu ("file (f)"); edit = new jmenu ("Edit (E)"); Format = New Jmenu ("Format O) ")") "); help = new jmenu (" Help (H) "); setQuickKey (File, 'F'); setQuickKey (EDIT, 'E'); setQuickKey (Format, 'o'); setquickKey (Help, ' H '); newItem = new jMenuitem ("New (N)"); OpenItem = New Jmenuitem ("Open (O) ..."); SaveItem = New Jmenuitem ("Save (S)"); SaveAsItem = New Jmenuitem ("Save As ..."); PageSetItem = New Jmenuitem ("Page Settings (U) ..."); PrintItem = New Jmenuitem ("Print (P) ..."); exitItem = new jmenuitem ("Exit "); SetQuickKey (NewItem, 'n'); setQuickKey (OpenItem, 'o'); setQuickKey (SaveItem, 's'); setquickKey (PageSetItem, 'u'); setquickKey (PrintItem, 'P');
File.add (newItem); file.add (saveItem); file.add (saveasitem); file.addseParator (); file.add (pageset); file.add (print); file ..); File.Add (PrintItem); File. AddSeparator (); file.add (exitItem);
UndoItem = new jMenuItem ("revoked (Z)"); cutitem = new jmenuitem ("Cut (X)"); CopyItem = New Jmenuitem ("Copy (C)"); PasteItem = New Jmenuitem ("Paste (V) "); DeleteItem = new jmenuitem (" delete "); FindItem = new jMenuItem (" Find (F) ... "); FindNextItem = New Jmenuitem (" Find Next "); ReplaceItem = New Jmenuitem (" Replace (RC) ) ... "); gotolineItem = new jMenuitem (" Go to (g) ... "); selectallItem = new jMenuItem (" All Choice (a) "); TimeItem = New Jmenuitem (" Time / Date); SetQuickKey (UndoItem, 'x'); setQuickKey (CopyItem, 'c'); setQuickKey (PasteItem, 'V'); setQuickKey (FindItem, 'f'); setquickKey (ReplaceItem, ' R '); setQuickKey (GotolineItem,' g '); setQuickKey (SelectAllItem,' A ');
Edit.Add (undoitem); edit.addseparator (); edit.add (copy); edit.add (paSteItem); edit.add (deleteItem); edit.addseParator (); Edit.Add (FindItem); Edit.Add (ReplaceItem); Edit.Add (gotolineItem); Edit.AddSeparator (); Edit.Add (SELECTALLITEM); Edit.Add (TimeItem);
AutoNextLineItem = New JMenuItem ("Automatic Punction (W)"); FontItem = New Jmenuitem ("Font ...");
SetQuickKey (AutoNextLineItem, 'W');
Format.Add (AutoTONEXTLINEITEM); Format.Add (FontItem);
HelpItem = New Jmenuitem ("Help Topics (H)"); AboutItem = New JmenuItem ("About ProE");
SetQuickKey (HelpItem, 'h');
Help.add (helpitem); Help.Add (AboutItem);
Menubar.add (file); menubar.add (edit); menubar.add (format); menuBar.Add (Help); setjmenubar;
textArea = new JTextArea (); textArea.setTabSize (TAB_SIZE); scrollPane = new JScrollPane (textArea); this.getContentPane () add (scrollPane, BorderLayout.CENTER);. Method of testing MenuItemEventHandler menuItemHandler // = new MenuItemEventHandler () ; newItem.addActionListener (menuItemHandler); openItem.addActionListener (menuItemHandler); saveItem.addActionListener (menuItemHandler); saveAsItem.addActionListener (menuItemHandler); pageSetItem.addActionListener (menuItemHandler); printItem.addActionListener (menuItemHandler); exitItem.addActionListener (menuItemHandler); undoItem.addActionListener (menuItemHandler); cutItem.addActionListener (menuItemHandler); copyItem.addActionListener (menuItemHandler); pasteItem.addActionListener (menuItemHandler); deleteItem.addActionListener (menuItemHandler); findItem.addActionListener (menuItemHandler); findNextItem.addActionListener (menuItemHandler); replaceItem .addactionListener; gotolineItem.addActionListener (menuitemhandler); selectallItem.com.addActionListe ner (menuItemHandler); timeItem.addActionListener (menuItemHandler); autoNextLineItem.addActionListener (menuItemHandler); fontItem.addActionListener (menuItemHandler); helpItem.addActionListener (menuItemHandler); aboutItem.addActionListener (menuItemHandler);}
// Auxiliary method: Set the shortcut key Private Void SetquickKey (AbstractButton Button, Char Quickkey) {string type = button.getclass (). GetName (); if (Type.endswith ("JMENU")) Button .setMnemonic (quickKey); else if (type.endsWith ( "JMenuItem")) {JMenuItem menuItem = (JMenuItem) button; menuItem.setAccelerator (KeyStroke.getKeyStroke (quickKey, InputEvent.CTRL_MASK));}}
// internal method: in response to a menu event private void newPerformed () {savePerformed (); textArea.setText ( "");} private void openPerformed () {BufferedReader input = null; String text; int ret = fileChooser.showOpenDialog (this) ; If (ret! = Jfilechooser.Approve_option) return; filename = filechooser.getSelectedFile (); if (filename.exists () && filename.canread ()) {settitle ("program editor:" filename.getname ()) TextArea.setText (""); try {input = new bufferedreader (new fileReader (filename)); while ((Text = INPUT.READLINE ())! = Null) TextArea.Append (Text "/ N"); INPUT.CLOSE ();} catch (ioException e) {joptionpane.showMessageDialog (this, "file open error, no open");} finally {infut = null;}}} private void saveperformed () {printwriter output = NULL; if (firstSave == true) {saveAsPerformed (); firstSave = false;} else {try {output = new PrintWriter (new FileWriter (fileName)); output.write (textArea.getText ());} catch (IOException e) {JOPANE.SHOWMESSAGEDIALOG (this, "file write error, no saving");} finally {output.close (); output = null;}}} prinTwriter output = null; int RET = fileChooser.showSaveDialog (this); if (! ret = JFileChooser.APPROVE_OPTION) return; fileName = fileChooser.getSelectedFile (); setTitle ( "program editor:" fileName.getName ()); try {output = new PrintWriter (new FileWriter (filename); output.write ());} catch (ioException e) {joptionpane.showMessageDialog (this, "file write error, no saving");
} Finally {output.close (); output = null;}} private void pagesetperformed () {system.out.println ("Show Page Settings Dialog");} Private Void PrintPerformed () {System.out.println (" Display print dialog ");} private void exitPerformed () {saveperformed (); dispose ();} private void undoperformed () {system.out.println (" revoked ");} private void cutperformed ()} .println ("shear");} private void copyperformed () {system.out.println ("copy");} private void pasteperformed () {system.out.println ("Paste");} private void deleteperformed ) {System.out.println ("delete");} private void findperformed () {system.out.println ("Find";} private void findnextperformed () {system.out.println ("Find Next") ;} private void replacePerformed () {System.out.println ( "replacement");} private void goToLinePerformed () {System.out.println ( "go");} private void selectAllPerformed () {System.out.println ("All Choice");} private void timeperformed () {system.out.println ("time / dates ");} Private void autOnextLinePerformed () {system.out.println (" Automatic Wrap ");} Private Void Fontperformed () {System.out.Println (" Font ");} Private Void Helpperformed () {System.out .println ("Help Topic");