/**
*This is a JAVA program for writing, opening, saving, editing the documents,
*has the ability to copy, cut, paste & select all text in the JTextArea,
*has @see ExampleFileFilter class (From SUN -http://java.sun.com-) for filter the file
*has a print class (from AarbTeam2000 -http://wwww.arabteam2000.com-) for printing the documents
*/
/**
*@King Fahd University of Petroleum and Minerals (KFUPM)
*@auther: Al-Thubaiti Salah
*@ICS201 PROJECT
*@JAVA Notepad (JNotepad)
*@version# 2.0
*/
//import the packages for using the classes in them into the program
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
/**
*A PUBLIC CLASS FOR NOTEPAD.JAVA
*/
public class Notepad extends JFrame{
//for using the methods in these classes
public Actions actions = new Actions(this);
protected JMenuBar buildMenuBar() {
JMenuBar Menubar = new JMenuBar();
JMenu fileMenu = buildFileMenu();
if (fileMenu.getItemCount() > 0) fileMenu.addSeparator();
JMenuItem exitMenuItem = new JMenuItem("Exit");
exitMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4, ActionEvent.CTRL_MASK));
exitMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
actions.exit();
}
});
fileMenu.add(exitMenuItem); //, new ImageIcon(this.getClass().getResource("images/exit.gif")))); -- exit.gif missing
Menubar.add(fileMenu);
JMenu editMenu = buildEditMenu();
if (editMenu.getItemCount() > 0) Menubar.add(editMenu);
JMenu formatMenu = buildFormatMenu();
if (formatMenu.getItemCount() > 0) Menubar.add(formatMenu);
Menubar.add(buildHelpMenu());
return Menubar;
}
protected JMenu buildFileMenu() {
JMenu fileMenu = new JMenu("File");
fileMenu.setMnemonic('f');
return fileMenu;
}
protected JMenu buildEditMenu() {
JMenu editMenu = new JMenu("Edit");
editMenu.setMnemonic('e');
return editMenu;
}
protected JMenu buildFormatMenu() {
JMenu formatMenu = new JMenu("Format");
formatMenu.setMnemonic('o');
return formatMenu;
}
protected JMenu buildHelpMenu() {
JMenu helpMenu = new JMenu("Help");
helpMenu.setMnemonic('h');
JMenuItem aboutMenuItem = new JMenuItem("About Notepad", new ImageIcon(this.getClass().getResource("images/about.gif")));
aboutMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
actions.about();
}
});
helpMenu.add(aboutMenuItem);
return helpMenu;
}
protected JToolBar buildToolBar() {
JToolBar toolBar = new JToolBar("Tool Bar");
return toolBar;
}
//Constructor of Notepad
public Notepad() {
super();
//set the title for Notepad and set the size for it.
setTitle("Untitled - JAVA Notepad");
setSize(800,600);
/**
*setting the default close operation to false and
*using own action (exitMenuItem action @Actions.java)
*/
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
actions.exit();
}
});
}
//Main Method
public static void main(String[] args){
new Notepad().show();
}
}