Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

Notepad Complete Code:

package note_pad;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.BadLocationException;
class Notepad_Area extends JFrame implements ActionListener {
JTextArea jt=new JTextArea();
JLabel statusbar;
File CurrentFile=null;
Boolean Saved=false;
Notepad_Area()
{
statusbar=new JLabel("|| Ln 1, Col 1 ",JLabel.RIGHT);
jt.setBounds(0,0,600,500);
add(statusbar,BorderLayout.SOUTH);
add(new JLabel(" "),BorderLayout.EAST);
add(new JLabel(" "),BorderLayout.WEST);
add(jt);
setTitle("Untitled-Javapad");
File CurrentFile=new File(getTitle());
jt.addCaretListener(
new CaretListener()
{
public void caretUpdate(CaretEvent e)
{
int lineNumber=0, column=0, pos=0;

try
{
pos=jt.getCaretPosition();
lineNumber=jt.getLineOfOffset(pos);//current position k mutabiq num of char in
line count krta hn
column=pos-jt.getLineStartOffset(lineNumber);
}catch(Exception excp){}
if(jt.getText().length()==0){lineNumber=0; column=0;}
statusbar.setText("|| Ln "+(lineNumber+1)+", Col "+(column+1));
}
});
WindowListener close=new WindowAdapter()
{
public void WindowClosing(WindowEvent e)
{
if(Saved==true)
SaveAsFile();
else
System.exit(0);

}
};
addWindowListener(close);
}

void Menubar()
{
JMenuBar menubar = new JMenuBar();
JMenu file = new JMenu("File");
JMenuItem Exit=new JMenuItem("Exit");
JMenuItem New=new JMenuItem("New");
JMenuItem Save=new JMenuItem("Save");
JMenuItem Open=new JMenuItem("Open");
JMenuItem Save_As=new JMenuItem("Save As");
JMenu imp=new JMenu("Import");
JMenuItem mail=new JMenuItem("Import mail..");
JMenuItem Feedback=new JMenuItem("Import Feedback..");
JMenuItem Bookmark=new JMenuItem("Import Bookmark..");
imp.add(Feedback);
imp.add(Bookmark);
imp.add(mail);

Exit.setMnemonic(KeyEvent.VK_E);//add shortcut key to close


New.setMnemonic(KeyEvent.VK_N);
Save.setMnemonic(KeyEvent.VK_S);
Open.setMnemonic(KeyEvent.VK_O);
Save_As.setMnemonic(KeyEvent.VK_A);
Save_As.addActionListener(this);
Save.addActionListener(this);
Exit.addActionListener(this);
New.addActionListener(this);
Open.addActionListener(this);
Save.setToolTipText("Save File");
Open.setToolTipText("Open File");
Save_As.setToolTipText("Save_as File");
Exit.setToolTipText("Exit application");
file.add(New);
file.add(Open);
file.add(Save);
file.add(Save_As);
file.add(imp);
file.addSeparator();
file.add(Exit);
JMenu Edit=new JMenu("Edit");
JMenuItem cut=new JMenuItem("Cut");
JMenuItem copy=new JMenuItem("Copy");
JMenuItem paste=new JMenuItem("Paste");
JMenuItem find=new JMenuItem("Find");
JMenuItem replace=new JMenuItem("Replae");
JMenuItem findnext=new JMenuItem("FindNext");
JMenuItem Goto=new JMenuItem("Goto");
Edit.add(cut);
Edit.add(copy);
Edit.add(paste);
Edit.add(find);
Edit.add(replace);
Edit.add(findnext);
Edit.add(Goto);
Goto.addActionListener(this);
menubar.add(file);
menubar.add(Edit);
setJMenuBar(menubar);
setSize(700,700);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

@Override
public void actionPerformed(ActionEvent e)
{
if("New"==e.getActionCommand())
{
NewFile();
}
else if("Open"==e.getActionCommand())
{
OpenFile();
}
else if("Save As"==e.getActionCommand())
{
SaveAsFile();
}
else if("Save"==e.getActionCommand())
{
SaveFile();
}
else if("Cut"==e.getActionCommand())
{
jt.cut();
}
else if("Copy"==e.getActionCommand())
{
jt.copy();
}
else if("Paste"==e.getActionCommand())
{
jt.paste();
}
else if("Find"==e.getActionCommand())
{

}
else if("FindNext"==e.getActionCommand())
{

}
else if("Replace"==e.getActionCommand())
{

}
else if("Goto"==e.getActionCommand())
{ int LineNumber=0;
try
{

LineNumber=jt.getLineOfOffset(jt.getCaretPosition());
String str=JOptionPane.showInputDialog(this,"Enter Line Number
"+LineNumber);
LineNumber=Integer.parseInt(str);
jt.setCaretPosition(jt.getLineStartOffset(LineNumber-1));
}
catch(Exception EX){}
}
}
void NewFile()
{

String str="Do you want to save Existing File";


int x=JOptionPane.showConfirmDialog(this,str,"Confirm
Msg",JOptionPane.YES_NO_CANCEL_OPTION);
if(x==JOptionPane.CANCEL_OPTION){return;}
else if(x==JOptionPane.YES_OPTION){Saved=true;SaveAsFile();}
else if(x==JOptionPane.NO_OPTION){
fileflag=true;
jt.setText(" ");
jt.setCaretPosition(0);
}

}
JFileChooser chooser=new JFileChooser();
void OpenFile()
{

/*chooser.addChoosableFileFilter(new MyFileFilter(".java","Java Source


Files(*.java)")); //use to filter files to open
chooser.addChoosableFileFilter(new MyFileFilter(".txt","Text Files(*.txt)"));
chooser.setCurrentDirectory(new File("."));*/
chooser.showOpenDialog(this.jt);
chooser.setDialogTitle("Open File");
chooser.setApproveButtonText("Open This File");
chooser.setApproveButtonToolTipText("Click to open file");
File temp=chooser.getSelectedFile();
try
{
FileInputStream fin=new FileInputStream(temp);
BufferedReader din=new BufferedReader(new InputStreamReader(fin));
String str=" ";
while(str!=null)
{
str=din.readLine();
if(str==null)
break;
jt.append(str+"\n");
}
}catch(Exception e){}

}
Boolean fileflag=false;
void SaveFile()
{
if(fileflag==false)
{
SaveAsFile();
}
else
{
Save(CurrentFile);
}
}
void SaveAsFile()
{
chooser.showSaveDialog(jt);
chooser.setDialogTitle("Save As");
File temp=chooser.getSelectedFile();
Save(temp);
}
void Save(File temp)
{
FileWriter fw=null;
try
{
fw=new FileWriter(temp);
fw.write(jt.getText());

}catch(Exception e){}
finally
{
try {
fw.close();
CurrentFile=temp;
setTitle(CurrentFile.getName());
}catch(Exception e){}
fileflag=true;
Saved=true;
}
}

public class Note_pad


{

public static void main(String[] args)


{
Notepad_Area a= new Notepad_Area();
a.Menubar();
}
}

You might also like