Notepad Sederhana

Notepad Sederhana


dalam kesempatan kali ini saya akan membat sebuah notepad sederhana dengan implementasi dari java.io
untuk akses file dan direktori. ada 2 class yaitu  main dan grid

main
import javax.swing.JFrame;
 
 
public class main {
    public static void main(String [] args){
        JFrame frame = new grid();
        frame.setTitle("NOTEPAD 101");
        frame.setVisible(true);
        frame.setSize(1280, 720);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setResizable(true);
        frame.setLocationRelativeTo(null);
    }
}
grid

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Scanner;
 
public class grid extends JFrame {
    int fileToOpen;
    int fileToSave;
    JFileChooser fileOpen;
    JFileChooser fileSave;
 
    grid(){
 
        // jadi ini bagian constructornya
        MenuBar menuBar = new MenuBar();
        MenuItem menuItem = new MenuItem();
        final JTextArea textArea = new JTextArea();
        setMenuBar(menuBar);
        Menu file = new Menu("file");
        menuBar.add(file);
        MenuItem newOption = new MenuItem("Baru");
        MenuItem buka = new MenuItem("Buka");
        MenuItem simpan = new MenuItem("Simpan");
        MenuItem tutup = new MenuItem("Keluar");
 
        file.add(newOption);
        file.add(buka);
        file.add(simpan);
        file.add(tutup);
        getContentPane().add(textArea);
 
 

        newOption.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                textArea.setText("");
            }
        });
 

        buka.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                openFile();
                if(fileToOpen == JFileChooser.APPROVE_OPTION){
                    textArea.setText(""); //membuat text area
                    try{
                        //men-scan isi text dan ditampilkan ke notepad keren ini
                        Scanner scan = new Scanner(new FileReader(fileOpen.getSelectedFile().getPath()));
                                while(scan.hasNext())
                                    textArea.append(scan.nextLine());
                    } catch (Exception ex){
                        //jika error, akan menampilkan pesan error
                        System.out.println(ex.getMessage());
                    }
                }
            }
        });

        simpan.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                saveFile();
                if(fileToSave == JFileChooser.APPROVE_OPTION){
                    try{
                        //men-write text yang sudah dituliskan
                        //dan disimpan ke file yang dituju/dibuat
                        BufferedWriter out = new BufferedWriter(new FileWriter(fileSave.getSelectedFile().getPath()));
                        out.write(textArea.getText());
                        out.close();
                    }
                    catch (Exception ex){
                        //jika error, akan menampilkan pesan error
                        System.out.println(ex.getMessage());
                    }
                }
            }
        });
 

        tutup.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
    }
 

    public void openFile(){
        JFileChooser open = new JFileChooser();
        int option = open.showOpenDialog(this);
        fileToOpen = option;
        fileOpen = open;
    }
 

    public void saveFile(){
        JFileChooser save =  new JFileChooser();
        int option = save.showOpenDialog(this);
        fileToSave = option;
        fileSave = save;
    }
}

Komentar

Postingan populer dari blog ini

ETS PBKK

EAS PBKK