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/...

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. ...

Inheritence (Pewarisan Sifat) Pada Java

Pada pertemuan II kami belajar mengenai inheritence di dalam pemrograman Java. Java inheritance (warisan) adalah suatu hubungan antara superclass dan subclass-nya (atau bisa dikatakan hubungan antara induk class dan anak class-nya). Inheritance class (class warisan) didalam mekanisme java digunakan untuk membangun kelas baru dari kelas yang sudah ada. Jadi inti dari inheritance (pewarisan) pada java ini yaitu sebuah kelas mewarisi attribute dan method dari kelas lain. Sebagai contoh, kelas induk dapat menurunkan sifat (attribute) dan kemampuannya (method) kepada kelas anak. Sehingga kelas induk sebagai  superclass  yang mewariskan sifat (attribute) dan kemampuannya (method) kepada anak sebagai  subclass -nya.  Contoh :  Ada sebuah class Mainan dan ada class Mobil-mobilan .Class mobil-mobilan turunan dari class Mainan gambar 1.class Mainan gambar 2.class Mobil-mobilan