Tugas 10 PBO-C "Text Editor"

January 08, 2021 0
    Pada kesempatan kali ini saya akan membikin sebuah Text Editor simpel dengan memakai bahasa Java. Text Editor merupakan suatu tipe program komputer yang bisa kita pakai untuk membuat, mengganti, menyimpan, serta membuka dokumen- dokumen teks. 

    Text Editor umumnya telah disediakan pada sistem operasi serta paket- paket pengembangan perangkat lunak. Text Editor bisa digunakan buat mengubah file semacam file konfigurasi, file dokumen, serta file kode sumber dari bahasa pemrograman. 
  • Sourcecode TextEditor:
    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();
        }
    }
    
Screenshot akhir program ketika dijalankan:

Terima kasih telah berkunjung. Mohon maaf apabila ada kesalahan dalam penulisan. 😁👍

0 Comments for "Tugas 10 PBO-C "Text Editor" "