Senin, 20 Januari 2014

Cara Pembuatan Notepad Sederhana Dengan Menggunakan Java NetBeans versi 7.1

Assalamualikum Wr. Wb...

Deskripsi Singkat

Pada aplikasi sederhana ini, merupakan aplikasi untuk menyimpan catatan yang telah kita buat. Disini kita bisa melakukan new file, open file, save file dan close. Aplikasi sederhana ini menggunakan Java NetBeans v.7.1

Screenshot


Ini merupakan screenshot dari aplikasi notepad yang sudah dilakukan debug


Ini merupakan screenshot dari aplikasi notepad, ketika kita sudah mengisi catatan didalamnya dan ingin melakukan penyimpanan file


Kalau ini, ketika kita ingin melakukan penyimpanan file yang sudah kita isi catatannya.


Sourcecode

Berikut source code dari aplikasi notepad ini :


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Notepad_form.java
 *
 * Created on Jan 14, 2014, 8:13:07 PM
 */
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Scanner;
import javax.swing.JFileChooser;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

/**
 *
 * @author Pramayogi
 */
public class Notepad_form extends javax.swing.JFrame {
    private boolean simpan = false;
    private String file ="";
    private String default_title="Untitled";
    private String title = default_title;

    /** Creates new form NewJFrame */
    public Notepad_form() {
        super("Untitled");
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    //                           
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jTextArea1 = new javax.swing.JTextArea();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        New = new javax.swing.JMenuItem();
        Open = new javax.swing.JMenuItem();
        Save = new javax.swing.JMenuItem();
        Saveas = new javax.swing.JMenuItem();
        Close = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jTextArea1.setColumns(20);
        jTextArea1.setRows(5);
        jScrollPane1.setViewportView(jTextArea1);

        jMenu1.setText("File");

        New.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.CTRL_MASK));
        New.setText("New");
        New.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                NewActionPerformed(evt);
            }
        });
        jMenu1.add(New);

        Open.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
        Open.setText("Open");
        Open.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                OpenActionPerformed(evt);
            }
        });
        jMenu1.add(Open);

        Save.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
        Save.setText("Save");
        Save.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                SaveActionPerformed(evt);
            }
        });
        jMenu1.add(Save);

        Saveas.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
        Saveas.setText("Save As");
        Saveas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                SaveasActionPerformed(evt);
            }
        });
        jMenu1.add(Saveas);

        Close.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F4, java.awt.event.InputEvent.ALT_MASK));
        Close.setText("Close");
        Close.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                CloseActionPerformed(evt);
            }
        });
        jMenu1.add(Close);

        jMenuBar1.add(jMenu1);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 279, Short.MAX_VALUE)
        );

        pack();
    }//                         

private void NewActionPerformed(java.awt.event.ActionEvent evt) {                                    
// TODO add your handling code here:
        title=default_title;
        this.setTitle(title);
        simpan = false;
        jTextArea1.setText("");
}                                   

private void OpenActionPerformed(java.awt.event.ActionEvent evt) {                                     
// TODO add your handling code here:
     JFileChooser open  = new JFileChooser();
        int pilih = open.showOpenDialog(open);
        if(pilih == JFileChooser.APPROVE_OPTION){
            jTextArea1.setText("");
        try{
            Scanner scan = new Scanner(new FileReader(open.getSelectedFile().getPath()));
            while (scan.hasNext())
                jTextArea1.append(scan.nextLine()+" ");
            title = open    .getSelectedFile().getName()+" ";
            this.setTitle(title);
            simpan = true;
            file = open.getSelectedFile().getPath();
        }
        catch (Exception ex){
            System.out.println(ex.getMessage());
                    
        }
       }
}                                    

private void SaveActionPerformed(java.awt.event.ActionEvent evt) {                                     
// TODO add your handling code here:
    if(simpan==true){
            try(BufferedWriter out = new BufferedWriter(new FileWriter(file))){
                out.write(jTextArea1.getText());
                title = title;
                this.setTitle(file);
            }catch (Exception ex){
                System.out.println(ex.getMessage());   
            }
        }
        else {
            JFileChooser save = new JFileChooser();
            int pilih = save .showOpenDialog(save);
            if (pilih== JFileChooser.APPROVE_OPTION){
                try {
                    try(BufferedWriter out = new BufferedWriter (new FileWriter(save.getSelectedFile()))){
                        out.write(jTextArea1.getText());
                    }
                    title = save.getSelectedFile().getName()+" "+title;
                    this.setTitle(title);
                    simpan = true;
                    file = save.getSelectedFile().getPath();
                }catch(Exception ex){
                    System.out.println(ex.getMessage());
                }
            }
        }
}                                    

private void CloseActionPerformed(java.awt.event.ActionEvent evt) {                                      
// TODO add your handling code here:
     System.exit(0);
}                                     

private void SaveasActionPerformed(java.awt.event.ActionEvent evt) {                                       
// TODO add your handling code here:
    
}                                      

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        try{
           UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
       }catch(ClassNotFoundException | InstantiationException| IllegalAccessException | UnsupportedLookAndFeelException e){
       }

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new Notepad_form().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JMenuItem Close;
    private javax.swing.JMenuItem New;
    private javax.swing.JMenuItem Open;
    private javax.swing.JMenuItem Save;
    private javax.swing.JMenuItem Saveas;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextArea jTextArea1;
    // End of variables declaration                   
}



Video

Berikut video dari aplikasi ini :