Wednesday, December 25, 2013

sample notepad

import java.awt.*;
import java.io.*;
import java.awt.event.*;
public class Notepad extends Frame implements ActionListener
{
  TextArea ta = new TextArea();
  MenuBar mb = new MenuBar();
  Menu f1 = new Menu("File");
  Menu f2 = new Menu("Edit");
  Menu f3 = new Menu("Help");
  MenuItem a1 = new MenuItem("New");
  MenuItem a2 = new MenuItem("Open");
  MenuItem a3 = new MenuItem("Save");
  MenuItem a4 = new MenuItem("Save As");
  MenuItem a5 = new MenuItem("Exit");
  MenuItem a6 = new MenuItem("Cut");
  MenuItem a7 = new MenuItem("Copy");
  MenuItem a8 = new MenuItem("Paste");
  MenuItem a9 = new MenuItem("Select All");
  MenuItem a10 = new MenuItem("Help Topic.");
  String x,data,fname;
  Notepad()
  {
    setTitle("Untitled - Notepad");
    setFont(new Font("Arial",0,14));
   // add item in file menu
    f1.add(a1);
    f1.add(a2);
    f1.addSeparator();
    f1.add(a3);
    f1.add(a4);
    f1.addSeparator();
    f1.add(a5);
   // add item in edit menu
    f2.add(a6);
    f2.add(a7);
    f2.add(a8);
    f2.addSeparator();
    f2.add(a9);
    f3.add(a10); // add item in Help Topic
   // add menu in menubar
    mb.add(f1);
    mb.add(f2);
    mb.add(f3);
    setMenuBar(mb); // set menu bar in Frame.
    add(ta); // add textarea in center, bcos default layout in frame in BorderLayout
    setBounds(5,5,790,560);
    setVisible(true);
    setResizable(false);
    a1.addActionListener(this);
    a2.addActionListener(this);
    a3.addActionListener(this);
    a4.addActionListener(this);
    a5.addActionListener(this);
    a6.addActionListener(this);
    a7.addActionListener(this);
    a8.addActionListener(this);
    a9.addActionListener(this);
    a10.addActionListener(this);
    addWindowListener(new Win());
  }
  class Win extends WindowAdapter
  {
    public void windowClosing(WindowEvent e)
    {
       dispose();
    }
  }
  public void actionPerformed(ActionEvent e)
  {
    Object o = e.getSource(); // o hold the event source object.
    if(o==a1) // for new
    {
      setTitle("Untitled - Notepad");
      ta.setText("");
    }
    if(o==a2) // for open
    {
      FileDialog fd = new FileDialog(this,"Open File",FileDialog.LOAD);
      fd.setVisible(true);
      fname = fd.getDirectory()+fd.getFile();
      setTitle(fname); // display selected file name on title
      try
      {
        BufferedReader r = new BufferedReader(new FileReader(fname));
        data="";
         while((x=r.readLine())!=null) // while not eof
          data+=x+"\r\n";
        ta.setText(data);
      }catch(Exception ex)
{

}  
    }
    if(o==a3) // for Save
    {
      if(getTitle().equals("Untitled - Notepad"))
      {
        FileDialog fd = new FileDialog(this,"Save File",FileDialog.SAVE);
        fd.setVisible(true);
        fname = fd.getDirectory()+fd.getFile();
        setTitle(fname); // display selected file name on title
      }
      try
      {
        PrintWriter w = new PrintWriter(new FileWriter(fname));
        w.print(ta.getText());
        w.close();
      }catch(Exception ex){}  
    }
    if(o==a4) // for Save As
    {
      FileDialog fd = new FileDialog(this,"Save As File",FileDialog.SAVE);
      fd.setVisible(true);
      fname = fd.getDirectory()+fd.getFile();
      setTitle(fname); // display selected file name on title
      try
      {
        PrintWriter w = new PrintWriter(new FileWriter(fname));
        w.print(ta.getText());
        w.close();
      }catch(Exception ex){}  
    }
    if(o==a5) // for exit
      dispose();
  }
  public static void main(String aa[])
  {
     new Notepad();
  }
}
// javac Notepad.java
// java Notepad

No comments:

Post a Comment