TUGAS PBO-C Pertemuan-10 : Text Editor

  TUGAS PBO-C Pertemuan-10 : Text Editor


       Pada pertemuan kesepuluh kelas PBO-C, saya diberi tugas untuk membuat Program Text Editor dengan menggunakan Blue-J. Text Editor itu tersendiri yaitu program yang bisa kita pakai untuk mengetik dan menyimpan dokumen-dokumen yang akan kita tulis nantinya.



Source Code dari Text Editor :

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();
    }
}


Hasil Output dari Programmnya:




























Komentar

Postingan populer dari blog ini

EAS RK A - 2022

EAS PBKK - A : 1-4

TUGAS PBKK - A Pertemuan - 7 Membuat Aplikasi BMI Calculator dengan XAMARIN