Langsung ke konten utama

Pemrograman Java Swing: Membuat Jendela dengan JFrame

Pemrograman Java Swing: Membuat Jendela dengan JFrame


 
Belajar Java Swing
Jendela merupakan komponen utama sebuah aplikasi GUI.
Di dalam jendela kita memasukan berbagai macam komponen seperti tombol, teks, combobox, dan lain-lain.
Jendela pada pemrograman Swing dapat kita buat dengan Class JFrame.
Pada kesempatan ini, kita akan belajar cara membuat jendela dengan dua metode:
  1. Hard Coding
  2. Drag and drop
Mari kita mulai…

Membuat Proyek Baru

Sebelum kita mulai mulai membuat jendela, buatlah proyek baru pada Netbeans.
Membuat proyek aplikasi Java
Isi nama proyeknya dengan BelajarSwing dan jangan centang “Create Main Class”.
Memberikan nama proyek Java
Setelah itu, buat sebuah package baru.
Membuat package baru
Isi nama package-nya dengan jendela.
Memberikan nama package

Membuat Jendela JFrame dengan Hard Coding

Hard Coding adalah teknik membuat jendela JFrame dengan menuliskan langsung kode Java untuk membuat Jendela.
Jendela dibuat dengan objek JFrame, lalu disesuaikan atribut-atributnya.
Untuk lebih jelasnya, mari kita praktek langsung…
Buat sebuah class baru di dalam package jendela dengan nama FirstWindow.java, setelah itu buat kodenya seperti ini:
import javax.swing.JFrame;

public class FirstWindow {
    
    public static void main(String[] args) {
        
        // membuat objek jendela
        JFrame myWindow = new JFrame();
        
        // berikan judul pada jendela
        myWindow.setTitle("Jendela Program");
        
        // tentukan ukuran jendela
        myWindow.setSize(400, 200);
        
        // tampilkan jendela ke layar
        myWindow.setVisible(true);
        
    }
    
}
Setelah itu jalankan programnya dengan menekan Shift+F6 atau klik kanan, lalu pilih Run File.
Hasilnya:
Jendela perama dengan Swing
Apa maksud dari kode di atas?
Baik, saya akan jelaskan.
Perama dimulai dari mengimpor JFrame.
import javax.swing.JFrame;
Karena kita membutuhkan class JFrame, maka kita harus mengimpornya dari package javax.swing.
Selanjutnya kita bisa membuat objek jendela dari class JFrame.
JFrame myWindow = new JFrame();
Setelah itu, kita bisa mengatur properti jendela dengan mengeksekusi method-method yang tersedia dari calss JFrame seperti memberikan judul, mengatur ukuran, mengatur posisi, dsb.
// berikan judul pada jendela
myWindow.setTitle("Jendela Program");

// tentukan ukuran jendela
myWindow.setSize(400, 200);

// tampilkan jendela ke layar
myWindow.setVisible(true);
Sudah paham?
Bagus.
Tapi, bagaimana kalau kita ingin membaut jendela untuk aplikasi yang besar dan kompleks?
Apabila kita menggunakan cara hard coding, kita bisa membuat class turunan dari JFrame.
Seperti ini:
  • Class MainWindow
  • Class TransactionWindow
  • Class DetailWindow
  • dll.
Mari kita coba.
Buatlah sebuah file class java baru bernama MainWindow.java, kemudian isi dengan kode berikut:
import javax.swing.JFrame;

public class MainWindow extends JFrame {

    public MainWindow(){
        this.setTitle("Jendela Utama");
        this.setSize(600,320);
    }
    
    public static void main(String[] args) {
        MainWindow mWindow = new MainWindow();
        mWindow.setVisible(true);
    }
    
}
Karena kita membuat class MainWindow sebagai class turunan dari JFrame, maka kita bisa mengakses langsung properti JFrame dengan kata kunci this dari method constructor.
Selanjutnya untuk membuat objek dari class MainWindow pada method main().
Hasilnya:
Membuat jendela turunan

Membuat Jendela dengan Drag and Drop

Teknik ini lebih mudah dari hard coding, karena kita hanya perlu melakukan drag and drop saja.
Silahkan buat JFrame form baru di dalam package jendela.
Membuat JFrame Form baru
Isi namanya dengan AboutWindow.
Memberikan nama JFrame Form
Sekarang tambahkan sebuah label dengan menarik dari Palette ke dalam jendela.
Menambahkan Label JFrame Form
Karena drag & drop, kita bisa mengatur properti jendelanya dengan mudah.
Silahkan atur sesuai selera dan tambahkan beberapa komponen, sehingga menjadi seperti ini.
Desain JFrame Form
Komponen yang ditambahkan:
  • Label
  • TextArea
Sekarang coba run dan perhatikan hasilnya:
Eksekusi aplikasi JFrame
Itu saja?
Ya itu saja, jendela bisa jadi dalam sekejab dengan drag & drop.
Coba kita bongkar source code-nya:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package jendela;

/**
 *
 * @author petanikode
 */
public class AboutWindow extends javax.swing.JFrame {

    /**
     * Creates new form AboutWindow
     */
    public AboutWindow() {
        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")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTextArea1 = new javax.swing.JTextArea();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Aplikasi 1.0.0 - Petani Kode");

        jLabel1.setFont(new java.awt.Font("Noto Sans UI", 1, 18)); // NOI18N
        jLabel1.setText("Aplikasi 1.0.0");

        jTextArea1.setColumns(20);
        jTextArea1.setRows(5);
        jTextArea1.setText("Aplikasi 1.0.0 adalah aplikasi untuk belajar pemrograman.\nAplikasi ini dibuat oleh Petani Kode untuk Demo.\nTerima kasih sudah menggunakan Aplikasi ini.\nUntuk saran dan kritik, silahkan kirim email ke info@petanikode.com.");
        jScrollPane1.setViewportView(jTextArea1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1)
                .addContainerGap())
            .addGroup(layout.createSequentialGroup()
                .addGap(175, 175, 175)
                .addComponent(jLabel1)
                .addContainerGap(174, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(29, 29, 29)
                .addComponent(jLabel1)
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 154, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(AboutWindow.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(AboutWindow.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(AboutWindow.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(AboutWindow.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new AboutWindow().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JLabel jLabel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextArea jTextArea1;
    // End of variables declaration                   
}
Kodenya hampir sama seperti kode yang kita buat pada teknik hard coding, namun lebih lengkap.

Akhir Kata…

Kita sudah belajar dua cara dalam membuat jendela pada program GUI Java.
Pertama dengan cara hard coding dan yang kedua dengan drag & drop.
Cara yang manakah yang kamu suka?
Saya yakin pasti yang drag & drop, karena lebih mudah, praktis, dan cepat.
Lalu hard coding bagaimana?
Hard coding lebih susah, karena harus mengetik kode sendiri.
Namun bukan berarti tidak ada manfaatnya.
Hard Coding perlu kita coba untuk menambah pemahaman kita lebih dalam tentang pemrograman GUI di Java.
Jadi kedua cara tersebut ‘wajib’ dicoba untuk pemula yang ingin mendalami pemrograman Java Swing.
Akhir kata…
Terima kasih sudah menyimak sampai akhir.
Ada pertanyaan?

Komentar

Postingan populer dari blog ini

21 Tali Temali dalam Pramuka, Simpul, Ikatan, Jerat, Pionering Lengkap

21 Tali Temali dalam Pramuka, Simpul, Ikatan, Jerat, Pionering Lengkap   Tali Temali memang tidak asing dengan pramuka, tali temali seperti tali, simpul, dan ikatan yang ada dalam pramuka, akan tetapi tidak sedikit anggota pramuka khususnya tingkat penggalang yang masih belum tau bagaimanakah cara membuat tali, simpul sekaligus ikatan tersebut. TALI TEMALI jendelapramuka.com Istilah tali temali dalam pramuka, sering kali kita mencampur adukkan antara tali, simpul dan ikatan hal ini sebenarnya berbeda. Berikut kami jelaskan perbedaannya di bawah ini : Tali : Bendanya Simpul : Adalah tali dengan tali Ikaran : Merupakan Tali dengan benda lain ( seperti tali yang diikatkan dengan tongkat dan sebagainya). Hasil bentukan dari tali, yakni terdiri dari, ikatan, simpul dan jerat. Simpul, Ikatan dan jerat yang baik dan benar adalah ikatan, simpul dan jerat yang bisa digunakan dengan kuat, tidak mudah lepas serta mudah untuk dilepas kembali. TALI TEMALI DALAM PRAM...

PROSEDUR PEMBUATAN INDIKATOR

PROSEDUR PEMBUATAN INDIKATOR 1. EBT (ERIOCROM BLACK T) Timbang 100 mg serbuk zat warna EBT ,10 gram Kristal NaCl atau Kristal Na2SO4 an hidrat. Kedua zat tersebut dicampur dengan cara menggerus didalam mortar sampai halus dan merata. Penggunaannya 100 mg (seujung spatel ) untuk satu kali titrasi. 2. Merah metil Larutkan 25 mg metil P dengan 0,95 ml larutan Natrium hidroksida 0,05 N dan 5 ml etanol 95 % setelah larut sempurna, tambahkan etanol 50 % secukupnya hingga 250,0 ml 3. Jingga metil Larutkan jingga metil P 0,04 % b/v dalam etanol 20 % 4. BTB Larutkan 100 mg biru brom timol P dengan 3,2 ml Natrium Hidroksida 0,05 N dan 5 ml etanol 90 % ,setelah larut sempurna tambahkan etanol 20 % secukupnya hingga 250,0 ml. 5. MUREXIDE Haluskan 100 mg serbuk murexide dengan 10 gram KNO3 atau 10 gram NaCl . Pada pemakaiannya 100 gram serbuk murexide tiap volume 150 sampai 200 ml. 6. Larutan indicator Fenolftalein 0,035 %. Timbang ± 0,035 gram Fenolftalein ,lar...

Membuat blog

Membuat blog Anda dapat membuat dan mengelola blog Anda sendiri dengan Blogger. Membuat blog Login ke Blogger . Di sebelah kiri, klik Panah bawah  . Klik Blog baru. Masukkan nama blog. Pilih alamat blog, atau URL. Pilih template. Klik Buat blog. Catatan: Pastikan Anda mematuhi  Kebijakan Konten Blogger  dan  Persyaratan Layanan . Mengelola blog Anda dapat mengelola siapa saja yang boleh mengedit dan membaca blog Anda.  Pelajari cara mengontrol akses ke blog . Anda dapat memilih tampilan blog sesuai yang Anda inginkan.  Pelajari cara mengubah desain blog . Memecahkan masalah Jika Anda mengalami masalah dengan Blogger, lihat  info tentang pemecahan masalah . https://support.google.com/blogger/answer/1623800?hl=id