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