0% found this document useful (0 votes)
15 views3 pages

Notepadclone

notepad clone

Uploaded by

g37493252
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views3 pages

Notepadclone

notepad clone

Uploaded by

g37493252
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

import java.awt.

*;
import javax.swing.*;
import java.io.*;
import java.awt.event.*;
import javax.swing.text.*;
class Editor extends JFrame implements ActionListener {
JTextArea t;
JFrame f;
Editor() {
f = new JFrame("Editor");
// Text component
t = new JTextArea();
// Create a menubar
JMenuBar mb = new JMenuBar();
// Create a menu for File
JMenu m1 = new JMenu("File");
// Create menu items
JMenuItem mi1 = new JMenuItem("New");
JMenuItem mi2 = new JMenuItem("Open");
JMenuItem mi3 = new JMenuItem("Save");

JMenuItem mi9 = new JMenuItem("Print");


// Add action listener
mi1.addActionListener(this);
mi2.addActionListener(this);
mi3.addActionListener(this);
mi9.addActionListener(this);
m1.add(mi1);
m1.add(mi2);
m1.add(mi3);
m1.add(mi9);
// Create a menu for Edit
JMenu m2 = new JMenu("Edit");
// Create menu items
JMenuItem mi4 = new JMenuItem("Cut");
JMenuItem mi5 = new JMenuItem("Copy");
JMenuItem mi6 = new JMenuItem("Paste");
// Add action listener
mi4.addActionListener(this);
mi5.addActionListener(this);
mi6.addActionListener(this);
m2.add(mi4);
m2.add(mi5);

m2.add(mi6);
JMenuItem mc = new JMenuItem("Close");
mc.addActionListener(this);
mb.add(m1);
mb.add(m2);
mb.add(mc);
f.setJMenuBar(mb);
f.add(t);
f.setSize(500, 500);
f.setVisible(true); // Corrected to set the JFrame visible
}
// If a button is pressed
public void actionPerformed(ActionEvent e) {
String s = e.getActionCommand();
if (s.equals("Cut")) {
t.cut();
} else if (s.equals("Copy")) {
t.copy();
} else if (s.equals("Paste")) {
t.paste();
} else if (s.equals("Save")) {
// Create an object of JFileChooser class
JFileChooser j = new JFileChooser("f:");

// Invoke the showsSaveDialog function to show the save dialog


int r = j.showSaveDialog(null);
if (r == JFileChooser.APPROVE_OPTION) {
// Set the label to the path of the selected directory
File fi = new File(j.getSelectedFile().getAbsolutePath());
try {
// Create a file writer
FileWriter wr = new FileWriter(fi, false);
// Create buffered writer to write
BufferedWriter w = new BufferedWriter(wr);
// Write
w.write(t.getText());
w.flush();
w.close();
} catch (Exception evt) {
JOptionPane.showMessageDialog(f, evt.getMessage());
}
} else {
JOptionPane.showMessageDialog(f, "The user cancelled the operation");
}
} else if (s.equals("Print")) {
try {

// Print the file


t.print();
} catch (Exception evt) {
JOptionPane.showMessageDialog(f, evt.getMessage());
}
} else if (s.equals("Open")) {
// Create an object of JFileChooser class
JFileChooser j = new JFileChooser("f:");
// Invoke the showsOpenDialog function to show the open dialog
int r = j.showOpenDialog(null);
// If the user selects a file
if (r == JFileChooser.APPROVE_OPTION) {
// Set the label to the path of the selected directory
File fi = new File(j.getSelectedFile().getAbsolutePath());
try {
// String
String s1 = "", sl = "";
// File reader
FileReader fr = new FileReader(fi);
// Buffered reader
BufferedReader br = new BufferedReader(fr);
// Initialize sl

sl = br.readLine();
// Take the input from the file
while ((s1 = br.readLine()) != null) {
sl = sl + "\n" + s1;
}
// Set the text
t.setText(sl);
} catch (Exception evt) {
JOptionPane.showMessageDialog(f, evt.getMessage());
}
} else {
JOptionPane.showMessageDialog(f, "The user cancelled the operation");
}
} else if (s.equals("New")) {
t.setText("");
} else if (s.equals("Close")) {
f.setVisible(false);
}
}
// Main class
public static void main(String args[]) {
Editor e = new Editor();
}
}

You might also like