Source Code Text Editor

oleh Faisal Reza M

  1. Intro

Penyunting teks atau editor teks adalah suatu jenis perangkat lunak komputer yang digunakan untuk menyunting teks biasa. Penyunting teks dibedakan dengan pengolah kata (word processor) karena jenis perangkat lunak ini tidak mengatur format dokumen atau fitur-fitur lain yang biasa digunakan dalam penerbitan semeja (desktop publishing). Di sini saya akan memberikan source code editor teks biasa.

2. Text.java

import javax.swing.*;
import java.io.*;
import java.awt.event.*;
import javax.swing.plaf.metal.*;

public class Text extends JFrame implements ActionListener{
    JTextArea t;//membuat sebuah halaman yang dapat dimasukkan text
    JFrame f;//membuat sebuah frame aplikasi

    Text(){//constructor
        f = new JFrame("editor");//membuat sebuah frame aplikasi

        try{
            UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");

            MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme());
        }catch(Exception e){

        }

        t = new JTextArea();//membuat sebuah text area

        JMenuBar mb = new JMenuBar();//membuat bar menu pada frame

        JMenu m1 = new JMenu("File");//membuat opsi pada bar menu bernama "FILE"
        //komponen opsi drop down dalam bar menu
        JMenuItem mi1 = new JMenuItem("New");//opsi untuk membuat File Baru
        JMenuItem mi2 = new JMenuItem("Open");//opsi untuk membuka File Lain
        JMenuItem mi3 = new JMenuItem("Save");//opsi untuk save File Baru
        JMenuItem mi4 = new JMenuItem("Print");//opsi untuk print File

        mi1.addActionListener(this);
        mi2.addActionListener(this);
        mi3.addActionListener(this);
        mi4.addActionListener(this);

        //menambahkan tiap opsi-opsi drop down new, open, save dan print ke dalam bar menu
        m1.add(mi1);
        m1.add(mi2);
        m1.add(mi3);
        m1.add(mi4);

        JMenu m2 = new JMenu("Edit");//membuat opsi pada bar menu bernama "EDIT"

        JMenuItem mi5 = new JMenuItem("Cut");//opsi untuk memindahkan teks
        JMenuItem mi6 = new JMenuItem("Copy");//opsi untuk menggandakan teks
        JMenuItem mi7 = new JMenuItem("Paste");//opsi untuk menempelkan teks

        mi5.addActionListener(this);
        mi6.addActionListener(this);
        mi7.addActionListener(this);

        //menambahkan opsi-opsi drop down cut, copy dan paste ke bar menu Edit
        m2.add(mi5);
        m2.add(mi6);
        m2.add(mi7);

        //membuat opsi close untuk menutup/ menyudahi file
        JMenuItem mc = new JMenuItem("Close");

        mc.addActionListener(this);

        //menambahkan opsi File, Edit dan Close ke bar menu utama
        mb.add(m1);
        mb.add(m2);
        mb.add(mc);

        f.setJMenuBar(mb);//menginisiasi bar menu pada frame
        f.add(t);//menambahkan text area pada frame
        f.setSize(500,500);//menetapkan ukuran notepad
        f.show();//menampilkan notepad
    }

    public void actionPerformed(ActionEvent e){//perintah-perintah tiap opsi
        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")){
            JFileChooser j = new JFileChooser("f:");

            int r = j.showSaveDialog(null);

            if(r == JFileChooser.APPROVE_OPTION){
                File fi = new File(j.getSelectedFile().getAbsolutePath());

                try{
                    FileWriter wr = new FileWriter(fi,false);
                    BufferedWriter w = new BufferedWriter(wr);

                    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{
                t.print();
            }catch(Exception evt){
                JOptionPane.showMessageDialog(f,evt.getMessage());
            }
        }else if(s.equals("Open")){
            JFileChooser j = new JFileChooser("f:");

            int r = j.showOpenDialog(null);

            if(r == JFileChooser.APPROVE_OPTION){
                File fi = new File(j.getSelectedFile().getAbsolutePath());

                try{
                    String s1 = "", sl = "";

                    FileReader fr = new FileReader(fi);

                    BufferedReader br = new BufferedReader(fr);
                    sl = br.readLine();

                    while((s1 = br.readLine()) != null){
                        sl = sl + "\n" + s1;
                    }

                    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")){
            t.setVisible(false);
        }

    }

    public static void main (String[] args[]){
        Text e = new Text();
    }
}

3. Cara penggunaan
a. buka BlueJ

b. masukkan/ ketik source code

c. klik Compile

d. klik kanan di class -> new Text()

4. Tampilan Program

5. File txt yang terbentuk

Leave a comment

Design a site like this with WordPress.com
Get started