Skip to main content

NOTEPAD USING JAVA

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
class Notepad extends JFrame implements ActionListener
{
//-----------------------------------------------------------------------------------------------------------------------------------------------------------
JTextArea t1;
JScrollPane sp;
JMenuBar mb;
JMenu File;
JMenuItem New;
JMenuItem Open;
JFileChooser fc;
JMenuItem Save;
JMenuItem SaveAs;
JMenuItem PageSetup;
JMenuItem Print;
JMenuItem Exit;
JMenu Edit;
JMenuItem Undo;
JMenuItem Cut;
JMenuItem Copy;
JMenuItem Paste;
JMenuItem Delete;
JMenuItem Find;
JMenuItem Find_Next;
JMenuItem Replace;
JMenuItem Go_To;
JMenuItem Select_All;
JMenuItem Time_Date;
JMenu Format;
JMenuItem Word_Wrap;
JMenuItem Font;
JMenu View;
JMenuItem Status_Bar;
JMenu Help;
JMenuItem View_Help;
JMenuItem About_Notepad;
//---------------------------------------------------------------------------------------------------------------------------------------------------------------
Notepad()
{
Dimension d=Toolkit.getDefaultToolkit().getScreenSize();  //Give a screensize to adjust fullsize with every system
setSize(d);


t1=new JTextArea();  //First create a fullsize textarea
add(t1);


sp=new JScrollPane(); //after adding textarea add scrollbar to it
add(sp);
//-----------------------------------------------------------------------------------------------------------------
mb=new JMenuBar(); //add menu bar
this.setJMenuBar(mb);


File=new JMenu("File"); //add menu elements
        mb.add(File);
New=new JMenuItem("New");
New.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,ActionEvent.CTRL_MASK));
New.addActionListener(this);
File.add(New);
Open=new JMenuItem("Open");
Open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,ActionEvent.CTRL_MASK));
Open.addActionListener(this);
File.add(Open);
Save=new JMenuItem("Save");
Save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,ActionEvent.CTRL_MASK));
Save.addActionListener(this);
File.add(Save);
SaveAs=new JMenuItem("SaveAs");
File.add(SaveAs);
File.addSeparator();
PageSetup=new JMenuItem("PageSetup");
File.add(PageSetup);
Print=new JMenuItem("Print");
Print.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,ActionEvent.CTRL_MASK));
Print.addActionListener(this);
File.add(Print);
File.addSeparator();
Exit=new JMenuItem("Exit");
Exit.addActionListener(this);
File.add(Exit);

//-------------------------------------------------------------------------------------------------------------
Edit=new JMenu("Edit");
Undo=new JMenuItem("Undo");
Undo.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,ActionEvent.CTRL_MASK));
Undo.addActionListener(this);
Edit.add(Undo);
Edit.addSeparator();
Cut=new JMenuItem("Cut");
Cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,ActionEvent.CTRL_MASK));
Cut.addActionListener(this);
Edit.add(Cut);
Copy=new JMenuItem("Copy");
Copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,ActionEvent.CTRL_MASK));
Copy.addActionListener(this);
Edit.add(Copy);
Paste=new JMenuItem("Paste");
Paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,ActionEvent.CTRL_MASK));
Paste.addActionListener(this);
Edit.add(Paste);
Delete=new JMenuItem("Delete");
Delete.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,InputEvent.META_MASK));
Edit.add(Delete);
Edit.addSeparator();
Find=new JMenuItem("Find");
Find.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,ActionEvent.CTRL_MASK));
Find.addActionListener(this);
Edit.add(Find);
Find_Next=new JMenuItem("Find_Next");
Edit.add(Find_Next);
Replace=new JMenuItem("Replace");
Replace.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,ActionEvent.CTRL_MASK));
Replace.addActionListener(this);
Edit.add(Replace);
Go_To=new JMenuItem("Go_To");
Go_To.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,ActionEvent.CTRL_MASK));
Go_To.addActionListener(this);
Edit.add(Go_To);
Edit.addSeparator();
Select_All=new JMenuItem("Select_All");
Select_All.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,ActionEvent.CTRL_MASK));
Select_All.addActionListener(this);
Edit.add(Select_All);
Time_Date=new JMenuItem("Time_Date");
Edit.add(Time_Date);
        mb.add(Edit);
//----------------------------------------------------------------------------------------------------------------------------------------------------
Format=new JMenu("Format");
Word_Wrap=new JMenuItem("Word_Wrap");
Format.add(Word_Wrap);
Font=new JMenuItem("Font");
Format.add(Font);
        mb.add(Format);
//--------------------------------------------------------------------------------------------------------------------------------------------------------
View=new JMenu("View");
Status_Bar=new JMenuItem("Status_Bar");
View.add(Status_Bar);
        mb.add(View);
//----------------------------------------------------------------------------------------------------------------------------------------------------------
Help=new JMenu("Help");
View_Help=new JMenuItem("View_Help");
Help.add(View_Help);
Help.addSeparator();
About_Notepad=new JMenuItem("About_Notepad");
About_Notepad.addActionListener(this);
Help.add(About_Notepad);
  mb.add(Help);
//-----------------------------------------------------------------------------------------------------------------------------------------------------------


sp.getViewport().setView(t1);
setVisible(true);
}

public static void main(String ris[])
{
new Notepad();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==New)
{
new Notepad();
this.dispose();
}
if(e.getSource()==Exit)
{
System.exit(0);
}
if(e.getSource()==Copy)
{
t1.copy();
}
if(e.getSource()==Paste)
{
t1.paste();
}
if(e.getSource()==Select_All)
{
t1.selectAll();
}
if(e.getSource()==Delete)
{
t1.replaceSelection("");
}
if(e.getSource()==Open)
{
fc=new JFileChooser();
if(fc.showOpenDialog(this)==JFileChooser.APPROVE_OPTION)
{ try{
t1.setText("");
Scanner sc=new Scanner(new FileReader(fc.getSelectedFile().getPath()));
while(sc.hasNext())
{
t1.append(sc.nextLine()+"\n");
}}
catch(Exception e1)
{

}
}
}
if(e.getSource()==Save)
{
fc=new JFileChooser();
if(fc.showSaveDialog(this)==JFileChooser.APPROVE_OPTION)
{ try{
/* String str=t1.getText();
FileOutputStream fos=new FileOutputStream(fc.getSelectedFile().getPath());

for(int i=0;i<str.length();i++)
{
fos.write(str.charAt(i));
}*/
t1.setLineWrap(true);

/*Scanner sc=new Scanner(t1.getText());*/
FileWriter fos=new FileWriter(fc.getSelectedFile());
BufferedWriter bw=new BufferedWriter(fos);
t1.write(bw);


/*while(sc.hasNext())
{
fos.write(sc.nextLine());
}*/

/*FileOutputStream fos=new FileOutputStream(fc.getSelectedFile().getPath());
BufferedOutputStream bw=new BufferedOutputStream(fos);
Scanner sc=new Scanner(t1.getText());
bw.write(sc.next());*/
/*bw.close();
fos.close();*/
/*Scanner sc=new Scanner(t1.getText());
FileWriter fos=new FileWriter(fc.getSelectedFile().getPath());
while(sc.hasNext())
{
fos.write(sc.nextLine());
}*/



}
catch(Exception e1)
{
System.out.println(e1);
}
}
}
if(e.getSource()==About_Notepad)
{
JOptionPane.showMessageDialog(this,"MY INVENTION MY NOTEPAD","INFO",JOptionPane.INFORMATION_MESSAGE);
}


}
}

Comments