/** *This is a JAVA program for writing, opening, saving, editing the documents, *has @see ExampleFileFilter class (From SUN� -http://java.sun.com-) for filter the file */ /** *@King Fahd University of Petroleum and Minerals (KFUPM) *@auther: Al-Thubaiti Salah *@ICS201 PROJECT *@JAVA? Notepad (JNotepad) *@version# 2.0 */ //import the packages for using the classes in them into the program import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; /** *A PUBLIC CLASS FOR NOTEPAD.JAVA */ public class Notepad extends JFrame { //for using the methods in these classes public Actions actions = new Actions( this ); public Center center = new Center( this ); //declaration of the private variables used in the program //create the text area private JTextArea textArea; //create the Menu Bar that contains the JMenu "filE, ediT, vieW, formaT" private JMenuBar Menubar; //Create the menu that contains the items private JMenu filE, ediT, vieW, formaT; //Create the menu items private JMenuItem neW, opeN, exiT; //Create the Tool Bar that contains the JButton private JToolBar toolBar; //Create the buttons private JButton newButton, openButton; //Create Scroll pane (JScrollPane) for the JTextArea private JScrollPane scrollpane; //for using textArea @Actions.java public JTextArea getTextArea() { return textArea; } //Constructor of Notepad public Notepad(){ //set the title for Notepad and set the size for it. setTitle( "Untitled - JAVA? Notepad" ); setSize( 800,600 ); //get the graphical user interface components display area Container cp = getContentPane(); /** *adding the text area, *adding the tool bar & *adding the scroll pane to the container */ cp.add( textArea = new JTextArea() ); cp.add( "North", toolBar = new JToolBar( "Tool Bar" ) ); cp.add( scrollpane = new JScrollPane( textArea ) ); //for setting the menu bar setJMenuBar( Menubar= new JMenuBar() ); //adding file, edit, view, format to the menu bar Menubar.add( filE = new JMenu( "File" ) ); Menubar.add( ediT = new JMenu( "Edit" ) ); Menubar.add( vieW = new JMenu( "View" ) ); Menubar.add( formaT = new JMenu( "Format" ) ); /** *adding neW, opeN, & exiT to the filE Menu, *adding a small image icon to the menu item & *adding separator between the menu item */ filE.add( neW = new JMenuItem( "New", new ImageIcon( this.getClass().getResource( "images/new.gif" ) ) ) ); filE.add( opeN = new JMenuItem( "Open", new ImageIcon( this.getClass().getResource( "images/open.gif" ) ) ) ); filE.add( exiT = new JMenuItem( "Exit" ) ); //, new ImageIcon(this.getClass().getResource("images/exit.gif")))); -- exit.gif missing /** *allowing the file menu to be selected by pressing ALT + F *allowing the edit menu to be selected by pressing ALT + E *allowing the view menu to be selected by pressing ALT + V *allowing the format menu to be selected by pressing ALT + O */ filE.setMnemonic( 'f' ); ediT.setMnemonic( 'e' ); vieW.setMnemonic( 'v' ); formaT.setMnemonic( 'o' ); /** *allowing the neW menu item to be selected by pressing ALT + N *allowing the opeN menu item to be selected by pressing ALT + O *allowing the exiT menu item to be selected by pressing ALT + F4 */ neW.setAccelerator( KeyStroke.getKeyStroke( KeyEvent.VK_N, ActionEvent.CTRL_MASK ) ); opeN.setAccelerator( KeyStroke.getKeyStroke( KeyEvent.VK_O, ActionEvent.CTRL_MASK ) ); exiT.setAccelerator( KeyStroke.getKeyStroke( KeyEvent.VK_F4, ActionEvent.CTRL_MASK ) ); /** *adding newButton, openButton, the tool bar, *adding a small image icon to the menu item & *adding separator between the button */ toolBar.add( newButton = new JButton( new ImageIcon( this.getClass().getResource( "images/new.gif" ) ) ) ); toolBar.add( openButton = new JButton( new ImageIcon( this.getClass().getResource( "images/open.gif" ) ) ) ); //adding a tool tip text to the button for descriping the image icon. newButton.setToolTipText( "New" ); openButton.setToolTipText( "Open" ); /** *setting the default close operation to false & *using own action (exiT action @Actions.java) */ setDefaultCloseOperation( DO_NOTHING_ON_CLOSE ); addWindowListener( new WindowAdapter() { public void windowClosing( WindowEvent e ) { actions.exiT(); } } ); /** *adding action listener for menu item: neW, opeN, exiT, *the actions was written @Actions.java */ neW.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent ae ) { actions.neW(); } } ); opeN.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent ae ) { actions.opeN(); } } ); exiT.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent ae ) { actions.exiT(); } } ); /** *adding action listener for the button in the tool bar: newButton, openButton, *the actions was written @Actions.java */ newButton.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent ae ) { actions.neW(); } } ); openButton.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent ae ) { actions.opeN(); } } ); /** *Setting the Line Wrap & Wrap Style Word features are true */ textArea.setLineWrap( true ); textArea.setWrapStyleWord( true ); /** *for making the program at the center, *@see Center.java */ center.nCenter(); show(); } //Main Method public static void main( String[] args ) { new Notepad(); } }