Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import javax.swing.*;
- import java.io.*;
- import java.awt.event.*;
- import javax.swing.plaf.metal.*;
- import javax.swing.text.*;
- public class TextEditor extends JFrame implements ActionListener
- {
- // Text component
- JTextArea t;
- // Frame
- JFrame f;
- // Constructor
- TextEditor()
- {
- // Create a frame
- f = new JFrame("Text Editor");
- try
- {
- // Set metal look and feel
- UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
- // Set theme to ocean
- MetalLookAndFeel.setCurrentTheme(new OceanTheme());
- } catch (Exception e) {
- }
- // Text component
- t = new JTextArea();
- // Create a menubar
- JMenuBar mb = new JMenuBar();
- // Create a menu for menu
- 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 menu
- 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.show();
- }
- public void actionPerformed(ActionEvent e)
- {
- String s = e.getActionCommand().toLowerCase();
- 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("c:");
- // Invoke the showSaveDialog 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"); // If 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("c:");
- // Invoke the showOpenDialog 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"); // If the user cancelled the operation
- } else if (s.equals("new")) {
- t.setText("");
- } else if (s.equals("close")) {
- f.setVisible(false);
- }
- }
- public static void main(String[] args)
- {
- TextEditor te = new TextEditor();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement