Langsung ke konten utama

Notepad

Saat di lab kami diberi tugas oleh asisten lab membuat notepad dalam bahasa java,dimana seperti notepad asli yang memiliki title bar,menu bar dll..
Dan begini codenya:

package pertemuan4;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.SocketTimeoutException;

/**
 * Created by Acer on 08/05/2017.
 */
public class Notepad extends JFrame {

    private JTextArea textArea;

    public Notepad() {



        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (ClassNotFoundException e) {     // menentukan tampilan dari sistem windowsnya
            e.printStackTrace();
        }
        catch(InstantiationException e){
            e.printStackTrace();
        } catch(IllegalAccessException e){
            e.printStackTrace();
        } catch(UnsupportedLookAndFeelException e){
            e.printStackTrace();
        }

        JPanel panel = (JPanel) this.getContentPane(); // cara mengambil content Jframe
        //GridLayout gridLayout = new GridLayout(1, 0); // layout manager
        //panel.setLayout(gridLayout);

        JTextField field = new JTextField(); // Membuat text field dan area field=satu baris,area banyak baris
        textArea = new JTextArea(); // Layout untuk mengatur sehingga teks bisa ditulis
        panel.add(field);
        panel.add(textArea);

        this.setTitle("Notepad");

        JMenuBar menuBar = new JMenuBar();
        JMenu file = new JMenu("File"),
                view = new JMenu("View"),
                edit = new JMenu("Edit");
        JMenuItem open = new JMenuItem("Open"),
                save = new JMenuItem("Save"),
                saveAs = new JMenuItem("Save As");
        JMenu font = new JMenu("Font");
        JMenuItem size14 = new JMenuItem("14");
        JMenuItem size16 = new JMenuItem("16");
        JMenuItem size18 = new JMenuItem("18");
        JMenuItem customSize = new JMenuItem("Custom Size");

        ActionListener sizeListener = new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent actionEvent) {
                Integer size;
                if(actionEvent.getActionCommand().equals("-")){
                    size = (Integer) JOptionPane.showInputDialog(Notepad.this,"Ukuran font : ","Custom Size", JOptionPane.INFORMATION_MESSAGE, null,new Integer[] {
                            10,12,14,16,18,20,24,36,48},"Ukuran");
                    if(size == null)
                        return;
                }else
                    size = Integer.valueOf(actionEvent.getActionCommand());

                Notepad.this.changeTextSize(size);
            }
        };

        size14.setActionCommand("14");
        size16.setActionCommand("16");
        size18.setActionCommand("18");
        customSize.setActionCommand("-");

        size14.addActionListener(sizeListener);
        size16.addActionListener(sizeListener);
        size18.addActionListener(sizeListener);
        customSize.addActionListener(sizeListener);

        file.add(open);
        file.add(save);
        file.add(saveAs);

        JMenuItem test = new JMenuItem("Test");

        view.add(test);

        view.add(font);
        font.add(size14);
        font.add(size16);
        font.add(size18);
        font.add(customSize);

        menuBar.add(file);
        menuBar.add(view);
        menuBar.add(edit);
        this.setJMenuBar(menuBar);


        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);


        //mENGESET uKURAN mINIIMUM JFrame
        this.pack(); //komponen nya jadi 1
        this.setMinimumSize(this.getPreferredSize()); //mengupdate ukuran yang pas untuk window itu
        this.setVisible(true);
    }

    private void changeTextSize(Integer size){
        System.out.println(size);
        Font originalFont = textArea.getFont();
        Font newFont = new Font(originalFont.getFontName(),originalFont.getStyle(),size);
        //Set font ke textarea
        textArea.setFont(newFont);
    }

    public static void main(String[] args) {
        Notepad notepad = new Notepad();
    }
}

Hasil Running nya:


Komentar

Postingan populer dari blog ini

Thread dalam Java

Apa itu Kelas  Thread Java Salah satu fitur yang tertanam pada  environment Java  yaitu dukungan untuk menggunakan  thread .  Thread  memungkinkan sebuah aplikasi  Java untuk melakukan banyak aktifitas/operasi secara simultan (serentak). Dengan menggunakannya secara benar,  thread  memungkinkan  User Interface  sebuah aplikasi tetap responsif saat aplikasi tersebut melakukan operasi yang memakan waktu lama seperti komunikasi  networking  atau perhitungan-perhitungan yang kompleks.  Thread  adalah unit fundamental dari eksekusi program. Setiap aplikasi minimal memiliki sebuah  thread  untuk menjalankan kode. Aplikasi yang memiliki dua  thread  atau lebih, biasa disebut dengan  multithreaded application .  Fungsi seperti ini sering kita butuhkan dalam membuat program aplikasi/game nantinya. Misalnya, sebuah  thread  yang bertugas menjalankan operasi penghitungan nilai/...

Program Exception Pada Java

Di dalam Lab, kami juga mempelajari sekilas tentang program exception: Exception  merupakan suatu kejadian yang tidak biasa atau event abnormal yang muncul ketika sedang menjalankan program. Exception merupakan runtime error. Ketika Exception muncul, maka akan melempar  sebuah obyek Exception, jika obyek yang dilempar ini tidak ditangani atau ditangkap maka akan mengakibatkan program determinasi (berhenti), hal ini dapat menyebabkan program menjadi tidak handal. Untuk mengatasi hal ini dibutuhkan sesuatu untuk menangani Exception. Error dan Exception Classes Seluruh exceptions adalah subclasses, baik secara langsung maupun tidak langsung, dari sebuah root class Throwable. Kemudian, dalam class ini terdapat dua kategori umum : Error class dan Exception class. Exception class menunjukkan kondisi yang dapat diterima oleh user program. Umumnya hal tersebut disebabkan oleh beberapa kesalahan pada kode program. Contoh dari exceptions adalah pembagian oleh 0 dan error di luar ...

Java Collection

C ollection adalah sekumpulan interface dan class yang sangat berguna dalam pengolahan variable / objek di Java.  Suatu objek collection Java dapat menyimpan beberapa elemen objek dalam suatu kesatuan group.  Dengan pengelompokan dalam group tersebut kita mendapatkan manfaat berikut : menyimpan elemen dengan urutan tertentu,  mengambil kembali elemen tersebut dengan index atau dengan berbagai metode yang spesifik,  memanipulasi data terutama agregasi dari elemen-elemen yang ada seperti penjumlahan,  dan berbagai transformasi bermanfaat lainnya. Beberapa Pengertian: 1.  Map dan List Map dan List merupakan sebuah interface yang digunakan untuk menerapkan Collection. Map dan List yang dibuat dapat memiliki cara implementasi yang berbeda, misalnya dengan menggunakan Array, menggunakan key hash. Apa perbedaan map dan list? Map dapat memiliki Key custom (Object, String, Integer, dll) sedangkan List hanya berupa sebuah daftar 2. ...