Introduction
This article explains how to create an editable notepad in Java.
Description
The main purpose for designing this type of notepad is to show how to make a notepad that enables us to cut, copy, paste and select all the text. For the development of this notepad we need to use the following procedure.
Step 1
Import the following packages:
import java.awt.event.*;
import javax.swing.*;
Step 2
Create a MenuBar, MenuItem, TextArea and Menu as in the following:
public class EditableNotepadEx implements ActionListener
{
JFrame frm;
JMenuBar mnubr;
JMenu fileMenu,editMenu,helpMenu;
JMenuItem cutItem,copyItem,pasteItem,selectAll;
JTextArea txtarea;
Step 3
Create a frame and sub-menu bar items, like cut, copy, paste and Select All. The following frame contains cut, copy, select and paste in the edit menu bar.
EditableNotepadEx()
{
frm=new JFrame();
cutItem=new JMenuItem("cutItem");
copyItem=new JMenuItem("copyItem");
pasteItem=new JMenuItem("pasteItem");
selectAll=new JMenuItem("selectAllItem");
Step 4
Create and add a menu bar and sub bar items in the frame and set the bounds as in the following:
copyItem.addActionListener(this);
cutItem.addActionListener(this);
selectAll.addActionListener(this);
pasteItem.addActionListener(this);
mnubr=new JMenuBar();
mnubr.setBounds(5,5,400,40);
fileMenu=new JMenu("File");
editMenu=new JMenu("Edit");
helpMenu=new JMenu("Help");
editMenu.add(cutItem);editMenu.add(copyItem);editMenu.add(pasteItem);editMenu.add(selectAll);
mnubr.add(fileMenu);mnubr.add(editMenu);mnubr.add(helpMenu);
txtarea=new JTextArea();
txtarea.setBounds(5,30,460,460);
frm.add(mnubr);frm.add(txtarea);
frm.setLayout(null);
frm.setSize(500,500);
frm.setVisible(true);
Step 5
Create an actionPerformed method to perform several actions, such as cut, copy, paste and selectAll depending on the user's click.
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()==cutItem)
txtarea.cut();
if(ae.getSource()==pasteItem)
txtarea.paste();
if(ae.getSource()==copyItem)
txtarea.copy();
if(ae.getSource()==selectAll)
txtarea.selectAll();
}
Step 6
Display the editable notepad by creating a main function.
public static void main(String[] args)
{
new EditableNotepadEx();
}
Step 7
The following is the complete Code.
EditableNotepadEx.java
import java.awt.event.*;
import javax.swing.*;
public class EditableNotepadEx implements ActionListener
{
JFrame frm;
JMenuBar mnubr;
JMenu fileMenu,editMenu,helpMenu;
JMenuItem cutItem,copyItem,pasteItem,selectAll;
JTextArea txtarea;
EditableNotepadEx()
{
frm=new JFrame();
cutItem=new JMenuItem("cutItem");
copyItem=new JMenuItem("copyItem");
pasteItem=new JMenuItem("pasteItem");
selectAll=new JMenuItem("selectAllItem");
copyItem.addActionListener(this);
cutItem.addActionListener(this);
selectAll.addActionListener(this);
pasteItem.addActionListener(this);
mnubr=new JMenuBar();
mnubr.setBounds(5,5,400,40);
fileMenu=new JMenu("File");
editMenu=new JMenu("Edit");
helpMenu=new JMenu("Help");
editMenu.add(cutItem);editMenu.add(copyItem);editMenu.add(pasteItem);editMenu.add(selectAll);
mnubr.add(fileMenu);mnubr.add(editMenu);mnubr.add(helpMenu);
txtarea=new JTextArea();
txtarea.setBounds(5,30,460,460);
frm.add(mnubr);frm.add(txtarea);
frm.setLayout(null);
frm.setSize(500,500);
frm.setVisible(true);
}
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()==cutItem)
txtarea.cut();
if(ae.getSource()==pasteItem)
txtarea.paste();
if(ae.getSource()==copyItem)
txtarea.copy();
if(ae.getSource()==selectAll)
txtarea.selectAll();
}
public static void main(String[] args)
{
new EditableNotepadEx();
}
}
Output
After pressing enter, a new window is generated called notepad (in which we can write text) that contains file, edit and a help button.
When we click on the edit button we have four choices; through that we can cut, copy, paste and selectAll of our text in the notepad.