Senin, 31 Januari 2011

Aplikasi Notepat

Assalamu'alaikum wr.wb..
nah mau posting lgi ni,, kli ne ttng aplikasi gui sederhana yaitu notepat. Pasti uda pada gk asing lgi ttng itu, tp di projectQ ini agk beda cz sya menmbhnkan aplliksi2 yg lain,,,, ok langung aja pembuatny ya.... oh iya aplikasi ini murni pke coding smua...... berikut tampilan sm codingnya.....

nah skrng codingnya:
dri method mainya:
package notepat;

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

/**
 *
 * @author tiwi
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        try {
            // TODO code application logic here
            UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
            new Gedit();
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (UnsupportedLookAndFeelException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

untuk class notepatnya:
package notepat;

/**
 *
 * @author tiwi
 */
import java.awt.event.*;
import java.awt.*;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.TimerTask;
import javax.swing.*;
import java.util.Timer;

public class Gedit extends JFrame {

    JMenuBar menu;
    JMenu File, Edit, View, Search, Tools, Document, Help;
    JMenuItem fnew, fopen, fsave, fsaveas, fprint, fclose, fquit, Ecut, Ecopy, Epaste,
            Vstatusbar, Vtoolbar, Sfind, Tcheck, Dsaveall, Dcloseall, Hcontends, Habout;
    JLabel lnew, lopen, lsave, lprint, lcut, lcopy, lpaste, lsearch,label;
    JTextArea area;
    JPanel p1, p2,p3;

    public Gedit() {
        Image logo = Toolkit.getDefaultToolkit().getImage("src/flower.jpg");
        setIconImage(logo);
        initComponents();
        initAction();
        initLayout();
    }

    private void initComponents() {

        menu = new JMenuBar();
        setJMenuBar(menu);
        File = new JMenu("File");
        File.setMnemonic('f');
        Edit = new JMenu("Edit");
        Edit.setMnemonic('e');
        View = new JMenu("View");
        View.setMnemonic('v');
        Search = new JMenu("Search");
        Search.setMnemonic('s');
        Tools = new JMenu("Tools");
        Tools.setMnemonic('t');
        Document = new JMenu("Document");
        Document.setMnemonic('d');
        Help = new JMenu("Help");
        fnew = new JMenuItem(new ImageIcon("src/new.png"));
        fclose = new JMenuItem(new ImageIcon("src/exit.png"));
        fopen = new JMenuItem(new ImageIcon("src/open.png"));
        fprint = new JMenuItem(new ImageIcon("src/print.png"));
        fquit = new JMenuItem(new ImageIcon("src/Quit.png"));
        fsave = new JMenuItem(new ImageIcon("src/save1.png"));
        fsaveas = new JMenuItem(new ImageIcon("src/save2.png"));
        Ecopy = new JMenuItem(new ImageIcon("src/copy.png"));
        Ecut = new JMenuItem(new ImageIcon("src/cut.png"));
        Epaste = new JMenuItem(new ImageIcon("src/paste.png"));
        Vstatusbar = new JMenuItem("StatusBar");
        Vtoolbar = new JMenuItem("ToolBar");
        Sfind = new JMenuItem(new ImageIcon("src/find.png"));
        Tcheck = new JMenuItem("Check");
        Dsaveall = new JMenuItem(new ImageIcon("src/saveall.png"));
        Dcloseall = new JMenuItem("Close All");
        Hcontends = new JMenuItem("Contends");
        Habout = new JMenuItem(new ImageIcon("src/about.png"));
        lnew = new JLabel(new ImageIcon("src/new.png"));
        lopen = new JLabel(new ImageIcon("src/open.png"));
        lcopy = new JLabel(new ImageIcon("src/copy.png"));
        lcut = new JLabel(new ImageIcon("src/cut.png"));
        lpaste = new JLabel(new ImageIcon("src/paste.png"));
        lprint = new JLabel(new ImageIcon("src/print.png"));
        lsave = new JLabel(new ImageIcon("src/open.png"));
        lsearch = new JLabel(new ImageIcon("src/xmag.png"));
        area = new JTextArea();
        p1 = new JPanel();
        p2 = new JPanel();
        p3=new JPanel();
        label=new JLabel("created by : Yuni Pratiwi Argiyani");
        area.setSize(100, 100);
        menu.add(File);
        File.add(fnew);
        File.add(fopen);
        File.addSeparator();
        File.add(fsave);
        File.add(fsaveas);
        File.addSeparator();
        File.add(fprint);
        File.addSeparator();
        File.add(fclose);
        File.add(fquit);
        menu.add(Edit);
        Edit.add(Ecut);
        Edit.add(Ecopy);
        Edit.addSeparator();
        Edit.add(Epaste);
        menu.add(View);
        View.add(Vstatusbar);
        View.add(Vtoolbar);
        menu.add(Search);
        Search.add(Sfind);
        menu.add(Tools);
        Tools.add(Tcheck);
        menu.add(Document);
        Document.add(Dsaveall);
        Document.add(Dcloseall);
        menu.add(Help);
        Help.add(Habout);
        Help.add(Hcontends);

    }
    public void initLayout(){
        Container c = getContentPane();
        c.setLayout(new BorderLayout());
        c.add(p1, "North");
        p1.setLayout(new GridLayout(0, 8));
        p1.add(lnew);
        p1.add(lopen);
        p1.add(lsave);
        p1.add(lprint);
        p1.add(lcut);
        p1.add(lcopy);
        p1.add(lpaste);
        p1.add(lsearch);
        c.add(p2, "Center");
        p2.setLayout(new BorderLayout());
        p2.add(area, "Center");
        c.add(p3,"South");
        p3.setLayout(new FlowLayout(FlowLayout.CENTER));
        p3.add(label);
        setVisible(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        pack();
        setSize(500, 500);
        setLocationRelativeTo(null);
        Timer t = new Timer();
        t.scheduleAtFixedRate(new TimerTask() {

            int i = 0;

            @Override
            public void run() {
                String title = "";
                for (int j = 1; j < i; j++) {
                    title += "NOTEPAT";

                }

                setTitle(title);
                i = (i + 1) % 50;
            }
        }, 70, 70);
    }

    private void initAction() {
        fopen.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                try {

                    JFileChooser fc = new JFileChooser();
                    fc.showOpenDialog(fopen);
                    area.read(new FileReader("data.txt"), null);


                } catch (IOException ex) {
                }
            }
        });
        fsave.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                try {
                    JFileChooser fc = new JFileChooser();
                    fc.showSaveDialog(fsave);
                    area.write(new FileWriter("data.txt"));
                    JOptionPane.showMessageDialog(null, "Data Berhasil disimpan");
                    area.setText(" ");
                } catch (IOException ex) {
                }

            }
        });
        fnew.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                new Gedit();
                setVisible(true);
                dispose();
            }
        });

        fclose.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
        lnew.addMouseMotionListener(new MouseMotionListener() {

            public void mouseDragged(MouseEvent me) {
            }

            public void mouseMoved(MouseEvent me) {
                lnew.setText(" New ");

            }
        });
        lcopy.addMouseMotionListener(new MouseMotionListener() {
            public void mouseDragged(MouseEvent me) {
            }

            public void mouseMoved(MouseEvent me) {
                lcopy.setText("Copy");
            }
        });
        lcut.addMouseMotionListener(new MouseMotionListener() {

            public void mouseDragged(MouseEvent me) {
            }

            public void mouseMoved(MouseEvent me) {
                lcut.setText("Cut");
            }
        });
        lopen.addMouseMotionListener(new MouseMotionListener() {

            public void mouseDragged(MouseEvent me) {

            }

            public void mouseMoved(MouseEvent me) {
                lopen.setText("Open");
            }
        });
        lpaste.addMouseMotionListener(new MouseMotionListener() {

            public void mouseDragged(MouseEvent me) {
            }

            public void mouseMoved(MouseEvent me) {
                lpaste.setText("Paste");
            }
        });
        lprint.addMouseMotionListener(new MouseMotionListener() {

            public void mouseDragged(MouseEvent me) {
            }

            public void mouseMoved(MouseEvent me) {
                lprint.setText("Print");
            }
        });
        lsave.addMouseMotionListener(new MouseMotionListener() {

            public void mouseDragged(MouseEvent me) {
            }

            public void mouseMoved(MouseEvent me) {
                lsave.setText("Save");
            }
        });
        lsearch.addMouseMotionListener(new MouseMotionListener() {

            public void mouseDragged(MouseEvent me) {
            }

            public void mouseMoved(MouseEvent me) {
                lsearch.setText("Search");
            }
        });
    }
}

nah simple kan codingnya, proses runningnya sbb:
tampilan awal notepat




lalu isikan tulisan apa aja misalny sbb:



klik file trus gmbar save maka muncul JFileChooser untuk menyimpan:



simpan dg nama data.txt lalu klik save, muncu pesan deh....



untuk membuka data yg telah kita simpan, klik file pilih gambar Open,, sbb:



cari file project tempat kita membuat aplikasi ini,,,,,



klik open....... maka akan tampil pada area tdi:



untuk membuat notepate baru klik file pilih gambar new...






nah selesai deh.... notepatnya.......
pasti pda tanya bedanya apa ni notepatnya???????
dsini saya menggunakan method timer (ilmu yg sya dpt dri salh satu guru java sy hahaha) untuk mmbuat animasi di titlenya jai bs bergerak dri kanan k kiri klo di Windows, tp anehnya wktu tak cba di linux bergrk dri tengh k smpng knan dan kiri......blm tau jg knapa tu kq bsa beda.......
trus bag simbol yg dikiri atas kn biasnya smbol java ato smbl netbeans nah ini sy ubah dg smbol lain....
untuk tmpilnya sy pke liquid lookandfeel tinggal di libraryny, klik kanan pilih add jar folder trus cri dmn libraryny....... deklarasi d projectnya uda ada di atas.....
OK,,, selamat mencoba ya..................
Wassalamu'allaikum wr.wb...

Tidak ada komentar:

Posting Komentar