Notepad in Java


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

class Assignment3 extends JFrame implements ActionListener
{
            Container c;
            ImageIcon icon1;
            JMenuBar menubar;
            JMenu file, edit, format, view, help;
            JMenuItem fnew, fopen, fsave, fsaveas, fpagesetup, fprint, fexit;
            JMenuItem eundo, ecut, ecopy, epaste, efind, efindnext, ereplace, egoto, eseletall, etimedate;
            JMenuItem frwordwrap, frfont, frcolor;
            JMenuItem vstatusbar;
            JMenuItem hhelptopics, haboutnotepad;

            JToolBar tb;
            ImageIcon ic1, ic2, ic3, ic4, ic5, ic6, ic7, ic8;
            JButton btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8;

            JFileChooser chooser;

            JColorChooser colorch;
            Color color;

            JScrollPane sp;
            JTextArea ta;


            String st1;
            Assignment3 ()
            {
                        chooser = new JFileChooser();

                        colorch = new JColorChooser ();
                        color = new Color (0, 0, 0);

                        ta = new JTextArea ();
                        ta.setForeground (color);
                        sp = new JScrollPane (ta);

                        st1="This is creation of TUSHAR.\nCreated on 10:58 AM 5/10/2010.\n\nUsing JMenuBar, JMenu, JMenuItem.";

                        c=getContentPane ();
                        menubar=new JMenuBar ();
                        icon1=new ImageIcon("ICON/1111.jpg");

                        file=new JMenu ("File");
                        edit=new JMenu ("Edit");
                        format=new JMenu ("Format");
                        view=new JMenu ("View");
                        help=new JMenu ("Help");

                        fnew=new JMenuItem ("New");
                        fopen=new JMenuItem ("Open");
                        fsave=new JMenuItem ("Save");
                        fsaveas=new JMenuItem ("Save As");
                        fpagesetup=new JMenuItem ("Page Setup");
                        fprint=new JMenuItem ("Print");
                        fexit=new JMenuItem ("Exit");
                        eundo=new JMenuItem ("Undo");
                        ecut=new JMenuItem ("Cut");
                        ecopy=new JMenuItem ("Copy");
                        epaste=new JMenuItem ("Paste");
                        efind=new JMenuItem ("Find");
                        efindnext=new JMenuItem ("Find Next");
                        ereplace=new JMenuItem ("Replace");
                        egoto=new JMenuItem ("Goto");
                        eseletall=new JMenuItem ("Select All");
                        etimedate=new JMenuItem ("Time/Date");

                        frwordwrap=new JMenuItem ("Word Wrap");
                        frfont=new JMenuItem ("Font");
                        frcolor=new JMenuItem ("Color");

                        vstatusbar=new JMenuItem ("Status Bar");

                        hhelptopics=new JMenuItem ("Help Topics");
                        haboutnotepad=new JMenuItem ("About Notepad");

                        file.add (fnew);
                        file.add (fopen);
                        file.add (fsave);
                        file.add (fsaveas);
                        file.add (new JSeparator () );
                        file.add (fpagesetup);
                        file.add (fprint);
                        file.add (new JSeparator () );
                        file.add (fexit);
                        menubar.add (file);

                        edit.add (eundo);
                        edit.add (new JSeparator () );
                        edit.add (ecut);
                        edit.add (ecopy);
                        edit.add (epaste);
                        edit.add (new JSeparator () );
                        edit.add (efind);
                        edit.add (efindnext);
                        edit.add (ereplace);
                        edit.add (egoto);
                        edit.add (new JSeparator () );
                        edit.add (eseletall);
                        edit.add (etimedate);
                        menubar.add (edit);

                        format.add (frwordwrap);
                        format.add (frfont);
                        format.add (frcolor);
                        menubar.add (format);

                        view.add (vstatusbar);
                        menubar.add (view);

                        help.add (hhelptopics);
                        help.add (new JSeparator () );
                        help.add (haboutnotepad);
                        menubar.add (help);

                        myShortCuts();

                        setJMenuBar(menubar);
                        c.add (addMyToolBar(), BorderLayout.NORTH);
                        c.add(sp, BorderLayout.CENTER);
                        setSize (600, 600);
                        setTitle ("Notepad with menu bar & ToolBar");
                        setLocation (100, 100);
                        setDefaultCloseOperation (EXIT_ON_CLOSE);
                        setVisible (true);

                        haboutnotepad.addActionListener (this);
                        fnew.addActionListener (this);
                        fopen.addActionListener (this);
                        fsave.addActionListener (this);
                        frcolor.addActionListener (this);

                        btn2.addActionListener (this );
                        btn3.addActionListener (this );
                        btn1.addActionListener (this );
            }

            public JToolBar addMyToolBar ()
            {
                        tb=new JToolBar ();
                        ic1=new ImageIcon ("ICON/NEW.jpg");
                        ic2=new ImageIcon ("ICON/OPEN.jpg");
                        ic3=new ImageIcon ("ICON/SAVE.jpg");
                        ic4=new ImageIcon ("ICON/PRINT.jpg");
                        ic5=new ImageIcon ("ICON/CUT.jpg");
                        ic6=new ImageIcon ("ICON/COPY.jpg");
                        ic7=new ImageIcon ("ICON/PASTE.jpg");
                        ic8=new ImageIcon ("ICON/UNDO.jpg");

                        btn1=new JButton (ic1);
                        btn2=new JButton (ic2);
                        btn3=new JButton (ic3);
                        btn4=new JButton (ic4);

                        btn5=new JButton (ic5);
                        btn6=new JButton (ic6);
                        btn7=new JButton (ic7);
                        btn8=new JButton (ic8);

                        tb.add (btn1);
                        tb.add (btn2);
                        tb.add (btn3);
                        tb.add (btn4);
                        tb.add (btn5);
                        tb.add (btn6);
                        tb.add (btn7);
                        tb.add (btn8);
                        return tb;
            }
            public void myShortCuts ()
            {
                        /*****Creating Short Cuts*****/
                        //---Allocating Accelerator---//
                        KeyStroke ks1 = KeyStroke.getKeyStroke ('N', Event.CTRL_MASK);
                        KeyStroke ks2 = KeyStroke.getKeyStroke ('O', Event.CTRL_MASK);
                        KeyStroke ks3 = KeyStroke.getKeyStroke ('S', Event.CTRL_MASK);
                        KeyStroke ks4 = KeyStroke.getKeyStroke ('X', Event.CTRL_MASK);
                        KeyStroke ks5 = KeyStroke.getKeyStroke ('C', Event.CTRL_MASK);
                        KeyStroke ks6 = KeyStroke.getKeyStroke ('V', Event.CTRL_MASK);
                        KeyStroke ks7 = KeyStroke.getKeyStroke               ('C',Event.CTRL_MASK|Event.ALT_MASK);
                        fnew.setAccelerator (ks1);
                        fopen.setAccelerator (ks2);
                        fsave.setAccelerator (ks3);
                        ecut.setAccelerator (ks4);
                        ecopy.setAccelerator (ks5);
                        epaste.setAccelerator (ks6);
                        frcolor.setAccelerator (ks7);
                        //---Allocating Mnemonic's----//
                        file.setMnemonic ('F');
                        edit.setMnemonic ('E');
                        format.setMnemonic ('O');
                        view.setMnemonic ('V');
                        help.setMnemonic ('H');
                        fnew.setMnemonic ('N');
                        fopen.setMnemonic ('O');
                        fsave.setMnemonic ('S');
                        fsaveas.setMnemonic ('A');
                        fpagesetup.setMnemonic ('U');
                        fprint.setMnemonic ('P');
                        fexit.setMnemonic ('E');
                        eundo.setMnemonic ('U');
                        ecut.setMnemonic ('T');
                        ecopy.setMnemonic ('C');
                        epaste.setMnemonic ('P');
                        efind.setMnemonic ('F');
                        efindnext.setMnemonic ('N');
                        ereplace.setMnemonic ('R');
                        egoto.setMnemonic ('G');

                        eseletall.setMnemonic ('A');
                        etimedate.setMnemonic ('D');
                        frwordwrap.setMnemonic ('W');
                        frfont.setMnemonic ('F');
                        frcolor.setMnemonic ('C');
                        vstatusbar.setMnemonic ('S');
                        hhelptopics.setMnemonic ('H');
                        haboutnotepad.setMnemonic ('A');

            }

            public void actionPerformed (ActionEvent ae)
            {
                        if (ae.getSource() == haboutnotepad)
                        {
                                    JOptionPane.showMessageDialog(null, st1,
                                                "About Notepad",
                                                JOptionPane.INFORMATION_MESSAGE, icon1);
                        }
                        if (ae.getSource() == fnew || ae.getSource() == btn1)
                                    ta.setText("");

                        if (ae.getSource() == fopen || ae.getSource() == btn2 )
                       
{          
try
                                    {
                                    int returnVal = chooser.showOpenDialog(this);
                                    if (returnVal == JFileChooser.APPROVE_OPTION)
                                    {
                                                FileReader fr = new FileReader (chooser.getSelectedFile ());
                                                BufferedReader br = new BufferedReader(fr);
                                                String s;
                                                ta.setText ("");
                                                while((s = br.readLine()) != null)
                                                {
                                                            ta.append ("\n"+s);
                                                }
                                                fr.close();
                                    }
                                    }
                                    catch (Exception e){}

                        }

                        if (ae.getSource() == fsave || ae.getSource() == btn3 )
                        {
                                    try
                                    {
                                    int returnVal = chooser.showSaveDialog (this);
                                    if (returnVal == JFileChooser.APPROVE_OPTION)
                                    {
                                                FileWriter fw = new FileWriter (chooser.getSelectedFile () );
                                                String str = ta.getText ();
                                                char [] buff = new char [ str.length() ];
                                                str.getChars(0, str.length(), buff, 0);
                                                for (int i=0; i < buff.length; i++)
                                                {
                                                            if (buff[i] == 13)
                                                                        buff[i]=10;
                                                            fw.write(buff[i]);
                                                }


                                                //fw.write (str, 0, str.length() );
                                                fw.close ();
                                    }
                                    }
                                    catch (Exception e){}
                        }
                        if (ae.getSource() == frcolor)
                        {
                                    color = colorch.showDialog (colorch, "Color Chooser", color);
                                    ta.setForeground (color);
                        }
            }

            public static void main (String args [] )
            {
                        new Assignment3 ();
            }
}

0 comments:

Copyright © 2012 OpenTechZone | Kesari Technologies |