Simple Notepad Editor using java|Gui application

Notepad Editor Mini-Project

Simple Notepad Editor using java | Gui application . In this editor you can do different activities like typing, save the text, print the text, resize the text format, change the style of the text format and so many thing. This project is based on java gui. 

Notepad Editor
Source code
 
import java.awt.*;
import java.awt.event.*;
import java.awt.event.KeyEvent;
import javax.swing.*;
import javax.swing.JOptionPane;
import java.io.*;
import java.util.*;
import javax.swing.event.*;
 
 
class Notepad2 extends JFrame implements ActionListener
{
JLabel statusBar;
JFrame f1;
JTextArea ta;
JMenuBar mb ;   
JMenu file,edit,view,format,help;
JMenuItem new1,open,save,close,cut,copy,paste,print,status,wordwrap,font,viewhelp,aboutnotepad;
JFileChooser fc;
Scanner s=null; 
Font fa;
JScrollPane jsp;
JLabel l1;
ImageIcon i1;
//JPanel p1;
JFrame f2;
JFrame f3;
JButton b1,bb1;
JButton b2,bb2;
JComboBox c1;
JComboBox c2;
JComboBox c3;
 
JPanel p1=new JPanel();
 
 
public Notepad2()
{
f1=new JFrame();
f1.setTitle(“Myprogrammingschool notepad”);
f1.setSize(900,900);
f1.setVisible(true);                           
f1.setDefaultCloseOperation(EXIT_ON_CLOSE);
 
f2=new JFrame(“about notepad”);
 
f3=new JFrame(“format”);
 
//statusBar=new JLabel();
statusBar=new JLabel(“||       Ln 1, Col 1  “,JLabel.RIGHT); 
String sj2[]={“Arial”,”TimesRoman”,”Cooper”,”Consolas”};
c1=new JComboBox(sj2);
String sj1[]={“BOLD”,”ITALIC”};
c2=new JComboBox(sj1);
String sj[]={“100″,”95″,”90″,”85″,”80″,”75″,”70″,”65″,”60″,”55″,”50″,”45″,”40″,”35″,”45″,”25″,”40″,”30″,”16″,”17″,”18″,”19″,”15″,”14″,”13″,”12″,”11″,”10″,”9″,”8″,”7”};
c3=new JComboBox(sj);
bb1=new JButton(“ok”);
bb2=new JButton(“cancel”);
f3.setSize(300,300);
f3.setLayout(new FlowLayout());
bb2.addActionListener(this);
bb1.addActionListener(this);
 
fa=new Font(“Arial”,Font.BOLD,45);
fc=new JFileChooser();
 
ta = new JTextArea(60,60);
ta.setFont(fa);
ta.setBounds(0,20,800,500);
 
 
mb=new JMenuBar();
mb.setBounds(0,0,800,30);
 
//mb.add(file);
//file.add(open);
file=new JMenu(“File”);
edit=new JMenu(“Edit”);
view=new JMenu(“view”);
format=new JMenu(“format”);
help=new JMenu(“Help”);
 
 
new1=new JMenuItem(“new”);
open=new JMenuItem(“open”);
save=new JMenuItem(“save”);
close=new JMenuItem(“close”);
print=new JMenuItem(“print”);
 
 
cut=new JMenuItem(“cut”);
copy=new JMenuItem(“copy”);
paste=new JMenuItem(“paste”);
 
 
status=new JMenuItem(“status bar”);
 
viewhelp=new JMenuItem(“ViewHelp”);
aboutnotepad=new JMenuItem(“about notepad”);
 
font=new JMenuItem(“font”);
wordwrap=new JMenuItem(“word wrap”);
 
i1=new ImageIcon(“notepad.png”);
l1=new JLabel(i1);
f2.add(l1);
 
mb.add(file);
mb.add(edit);
mb.add(format);
mb.add(help);
mb.add(view);
 
p1.add(mb,BorderLayout.NORTH);
p1.setLayout(new BorderLayout());
 
file.add(new1);
file.addSeparator();
file.add(open);
file.addSeparator();
file.add(save);
file.addSeparator();
file.add(close);
file.addSeparator();
file.add(print);
file.addSeparator();
 
 
edit.add(cut);
file.addSeparator();
edit.add(copy);
file.addSeparator();
edit.add(paste);
file.addSeparator();
view.add(status);
 
format.add(wordwrap);
file.addSeparator();
format.add(font);
file.addSeparator();
 
help.add(viewhelp);
file.addSeparator();
 
help.add(aboutnotepad);
 
 
 
f3.add(c1);
f3.add(c2);
f3.add(c3);
f3.add(bb1);
f3.add(bb2);
view.addSeparator();
 
file.setMnemonic(KeyEvent.VK_F);
edit.setMnemonic(KeyEvent.VK_E);
view.setMnemonic(KeyEvent.VK_Y);
 
KeyStroke opn=KeyStroke.getKeyStroke(KeyEvent.VK_O,KeyEvent.CTRL_DOWN_MASK);
open.setAccelerator(opn);
 
KeyStroke n1=KeyStroke.getKeyStroke(KeyEvent.VK_N,KeyEvent.CTRL_DOWN_MASK);
new1.setAccelerator(n1);
 
 
KeyStroke sav=KeyStroke.getKeyStroke(KeyEvent.VK_S,KeyEvent.CTRL_DOWN_MASK);
save.setAccelerator(sav);
 
KeyStroke clos=KeyStroke.getKeyStroke(KeyEvent.VK_L,KeyEvent.CTRL_DOWN_MASK);
close.setAccelerator(clos);
 
KeyStroke prnt=KeyStroke.getKeyStroke(KeyEvent.VK_P,KeyEvent.CTRL_DOWN_MASK);
print.setAccelerator(prnt);
 
KeyStroke cu=KeyStroke.getKeyStroke(KeyEvent.VK_X,KeyEvent.CTRL_DOWN_MASK);
cut.setAccelerator(cu);
 
KeyStroke cpy=KeyStroke.getKeyStroke(KeyEvent.VK_C,KeyEvent.CTRL_DOWN_MASK);
copy.setAccelerator(cpy);
 
KeyStroke pst=KeyStroke.getKeyStroke(KeyEvent.VK_V,KeyEvent.CTRL_DOWN_MASK);
paste.setAccelerator(pst);
 
KeyStroke ab=KeyStroke.getKeyStroke(KeyEvent.VK_B,KeyEvent.CTRL_DOWN_MASK);
status.setAccelerator(ab);
 
new1.addActionListener(this);
open.addActionListener(this);
save.addActionListener(this);
close.addActionListener(this);
cut.addActionListener(this);
copy.addActionListener(this);
paste.addActionListener(this);
print.addActionListener(this);
viewhelp.addActionListener(this);
aboutnotepad.addActionListener(this);
wordwrap.addActionListener(this);
font.addActionListener(this);
status.addActionListener(this);
 
 
JScrollPane js = new JScrollPane(ta);
js.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
js.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
/*JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);*/ 
p1.add(js,BorderLayout.CENTER);
p1.add(mb,BorderLayout.NORTH);
p1.add(statusBar,BorderLayout.SOUTH);
f1.add(p1);
 
 
 
 
 
addWindowListener(
new WindowAdapter()
{
 
public void windowClosing(WindowEvent we)
{
int n;
n=JOptionPane.showOptionDialog(null,”Do you want tosave your changees?”,”Notepad”,
JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,null,null);
 
if(n==JOptionPane.NO_OPTION)
{
System.exit(0);
}
else if(n==JOptionPane.CLOSED_OPTION)
{
f1.setVisible(true);
}
else if(n==JOptionPane.YES_OPTION)
{
System.out.println(“hai”);
JFrame i=new JFrame();
int p=fc.showSaveDialog(i);
if(p==JFileChooser.APPROVE_OPTION)
{
try
{
FileWriter f1=new FileWriter(fc.getSelectedFile());
BufferedWriter br=new BufferedWriter(f1);
s=new Scanner(ta.getText());
while(s.hasNext())
{
br.write(s.nextLine());
br.newLine();
}
br.close();
 
}
 
catch(IOException ie)
{
System.out.println(ie);
}
}
}
System.exit(0);
}
});
 
 
ta.addCaretListener(  
new CaretListener()  
{  
public void caretUpdate(CaretEvent e)  
{  
int lineNumber=0, column=0, pos=0;  
  
try  
{  
pos=ta.getCaretPosition();  
lineNumber=ta.getLineOfOffset(pos);  
column=pos-ta.getLineStartOffset(lineNumber);  
}catch(Exception excp){}  
if(ta.getText().length()==0){lineNumber=0; column=0;}  
statusBar.setText(“||       Ln “+(lineNumber+1)+”, Col “+(column+1));  
}  
});  
 
}
 
public void actionPerformed(ActionEvent ae) {
if(ae.getSource().equals(new1))
{
ta.setText(“”);
}
if(ae.getSource().equals(close))
{
System.exit(0);
}
if(ae.getSource().equals(open))
{
ta.setText(“”);
int n=fc.showOpenDialog(this);
if(n==JFileChooser.APPROVE_OPTION)
{
try
{
Scanner sc=new Scanner(fc.getSelectedFile());
while(sc.hasNext())
{
String str=sc.nextLine();
ta.append(str+”n”);
}
}
catch(FileNotFoundException aie)
{
System.out.println(aie);
}
}
}
 
 
if(ae.getSource().equals(save))
{
int p=fc.showSaveDialog(this);
if(p==JFileChooser.APPROVE_OPTION)
{
try
{
FileWriter f1=new FileWriter(fc.getSelectedFile());
File select=fc.getSelectedFile();
if(select.exists())
JOptionPane.showMessageDialog(null,”file already exists,enter another filename”);
else
{
 
 
BufferedWriter br=new BufferedWriter(f1);
 s=new Scanner(ta.getText());
while(s.hasNext())
{
br.write(s.nextLine());
br.newLine();
}
br.close();
 
}
}
catch(IOException ex)
{
System.out.println(ex);
}
}
}
 
 
 
if(ae.getSource().equals(cut))
{
ta.cut();
}
if(ae.getSource().equals(status))
{
/*ta.addCaretListener(
new CaretListener()
{
public void createUpdate(CaretEvent e)
{
int ln=0,clm=0,pos=0;
try
{
pos=ta.getCaretPosition();
ln=ta.getLineOfOffset(pos);
clm=pos-ta.getLineStartOffset(ln);
}catch(Exception excp){}
if(ta.getText().length()==0)
{
ln=0;
clm=0;
}
statusBar.setText(“|| ln”+(ln+1)+” col”+(clm+1));
}
});*/
 
}
 
if(ae.getSource().equals(copy))
{
/*Font f2=new Font(“Arial”,Font.ITALIC,18);
ta.setFont(f2);*/
ta.copy();
}
if(ae.getSource().equals(paste))
{
ta.paste();
}
if(ae.getSource().equals(print))
{
try
{
ta.print();
}
catch(Exception pe)
{
System.out.print(pe);
}
}
if(ae.getSource().equals(viewhelp))
{//System.out.println(“hai go to browser”);
JOptionPane.showMessageDialog(null,”go and search in browser”);
}
if(ae.getSource().equals(aboutnotepad))
{
f2.setVisible(true);
 
}
if(ae.getSource().equals(font))
{
f3.setVisible(true);
}
if(ae.getSource().equals(bb1))
{
String lo=(String)c1.getSelectedItem();
String lo1=(String)c2.getSelectedItem();
int i1=Integer.parseInt((String)c3.getSelectedItem());
Font fff=new Font(“Cooper”,Font.BOLD,10);
if(lo1.equals(“BOLD”))
{
fff=new Font(lo,Font.BOLD,i1);
}
if(lo1.equals(“ITALIC”))
{
fff=new Font(lo,Font.ITALIC,i1);
}
ta.setFont(fff);
JOptionPane.showMessageDialog(null,”font changed”);
f3.setVisible(false);
}
if(ae.getSource().equals(bb2))
f3.setVisible(false);
}
 
 
public static void main(String args[])
{
 new Notepad2();
}
}
 
OutPut 
Format
Open
Print
For more Project

Leave a Reply

%d bloggers like this: