
Introduction
To build a Notepad in Java we require basic knowledge of java and file operations. Java provides default packages such as Abstract Window Toolkit (AWT) & Swing to create a user interface (UI) for desktop applications.
The notepad project we are going to build is a desktop application just like the notepad or text editor we usually see on our desktop. Some of the features of Notepad in Java are Menu Bar for Creating a new file, Edit, View, and saving a file.
We need Eclipse or NetBeans to implement this project. Create a new project named Notepad, add a new package with the same name Notepad, and paste the following code into the file Notepad.java.
Code for Notepad in Java
import java.io.*;import java.awt.datatransfer.*;import java.util.*;import javax.swing.*;import java.lang.*;import java.awt.*;import java.awt.event.*;public class Notepad extends JFrame implements ActionListener, WindowListener {File fnameContainer;JTextArea jta =new JTextArea();public void windowDeactivated(WindowEvent e){}public void windowActivated(WindowEvent e){}public void windowDeiconified(WindowEvent e){}public void windowIconified(WindowEvent e){}public void windowClosed(WindowEvent e){}public void windowClosing(WindowEvent e) { Exiting(); }public void windowOpened(WindowEvent e){}vm public void Exiting() {System.exit(0);}public void EditFile(String fname) throws IOException {BufferedReader d=new BufferedReader(new InputStreamReader(new FileInputStream(fname)));String s;jta.setText("");setCursor(new Cursor(Cursor.WAIT_CURSOR));while((s=d.readLine())!= null) {jta.setText(jta.getText()+s+"\r\n");}setCursor(new Cursor(Cursor.DEFAULT_CURSOR));d.close();}public void createMenuItem(JMenu jm,String txt){JMenuItem jmi=new JMenuItem(txt);jmi.addActionListener(this);jm.add(jmi);}public void SaveFileAs(String fname) throws IOException {setCursor(new Cursor(Cursor.WAIT_CURSOR));DataOutputStream dos=new DataOutputStream(new FileOutputStream(fname));dos.writeBytes(jta.getText());dos.close();setCursor(new Cursor(Cursor.DEFAULT_CURSOR));}public void actionPerformed(ActionEvent e){JFileChooser jfc=new JFileChooser();if(e.getActionCommand().equals("New")){this.setTitle("Untitled.txt - Notepad");jta.setText("");fnameContainer=null;}else if(e.getActionCommand().equals("Open")){int ret=jfc.showDialog(null,"Open");if(ret == JFileChooser.APPROVE_OPTION){try{File fyl=jfc.getSelectedFile();OpenFile(fyl.getAbsolutePath());this.setTitle(fyl.getName()+ " - Notepad");fnameContainer=fyl;}catch(IOException ers){}}}else if(e.getActionCommand().equals("Save")){if(fnameContainer != null){jfc.setCurrentDirectory(fnameContainer);jfc.setSelectedFile(fnameContainer);}else {jfc.setSelectedFile(new File("Untitled.txt"));}int ret=jfc.showSaveDialog(null);if(ret == JFileChooser.APPROVE_OPTION){try{File fyl=jfc.getSelectedFile();SaveFile(fyl.getAbsolutePath());this.setTitle(fyl.getName()+ " - Notepad");fnameContainer=fyl;}catch(Exception ers2){}}}else if(e.getActionCommand().equals("Exit")){Exiting();}else if(e.getActionCommand().equals("Copy")){jta.copy();}else if(e.getActionCommand().equals("Paste")){jta.paste();}else if(e.getActionCommand().equals("About Notepad")){JOptionPane.showMessageDialog(this,"","Notepad",JOptionPane.INFORMATION_MESSAGE);}else if(e.getActionCommand().equals("Cut")){jta.cut();}}public void OpenFile(String fname) throws IOException {BufferedReader d=new BufferedReader(new InputStreamReader(new FileInputStream(fname)));String s;jta.setText("");setCursor(new Cursor(Cursor.WAIT_CURSOR));while((s=d.readLine())!= null) {jta.setText(jta.getText()+s+"\r\n");}setCursor(new Cursor(Cursor.DEFAULT_CURSOR));d.close();}public void SaveFile(String fname) throws IOException {setCursor(new Cursor(Cursor.WAIT_CURSOR));DataOutputStream dos=new DataOutputStream(new FileOutputStream(fname));dos.writeBytes(jta.getText());dos.close();setCursor(new Cursor(Cursor.DEFAULT_CURSOR));}public static void main (String[] args) {Notepad notp=new Notepad();}public Notepad(){Font fnt=new Font("Arial",Font.PLAIN,15);Container con=getContentPane();JMenuBar jmb=new JMenuBar();JMenu jmfile = new JMenu("File");JMenu jmedit = new JMenu("Edit");JMenu jmhelp = new JMenu("Help");con.setLayout(new BorderLayout());JScrollPane sbrText = new JScrollPane(jta);sbrText.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);sbrText.setVisible(true);jta.setFont(fnt);jta.setLineWrap(true);jta.setWrapStyleWord(true);con.add(sbrText);createMenuItem(jmfile,"New");createMenuItem(jmfile,"Open");createMenuItem(jmfile,"Save");jmfile.addSeparator();createMenuItem(jmfile,"Exit");createMenuItem(jmedit,"Cut");createMenuItem(jmedit,"Copy");createMenuItem(jmedit,"Paste");createMenuItem(jmhelp,"About Notepad");jmb.add(jmfile);jmb.add(jmedit);jmb.add(jmhelp);setJMenuBar(jmb);addWindowListener(this);setSize(500,500);setTitle("Untitled.txt - Notepad");setVisible(true);}}
Output for Notepad in java:
Image output:


Video output:
Thank you for visiting our website.
Also Read:
- Dino Game in Java
- Java Games Code | Copy And Paste
- Supply Chain Management System in Java
- Survey Management System In Java
- Phone Book in Java
- Email Application in Java
- Inventory Management System Project in Java
- Blood Bank Management System Project in Java
- Electricity Bill Management System Project in Java
- CGPA Calculator App In Java
- Chat Application in Java
- 100+ Java Projects for Beginners 2023
- Airline Reservation System Project in Java
- Password and Notes Manager in Java
- GUI Number Guessing Game in Java
- How to create Notepad in Java?
- Memory Game in Java
- Simple Car Race Game in Java
- ATM program in Java
- Drawing Application In Java
- Tetris Game in Java
- Pong Game in Java
- Hospital Management System Project in Java
- Ludo Game in Java
- Restaurant Management System Project in Java
- Flappy Bird Game in Java
- ATM Simulator In Java
- Brick Breaker Game in Java
- Best Java Roadmap for Beginners 2023
- Snake Game in Java