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

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

LARUTAN PADA KIMIA ANALITIK KUANTITATIF

LARUTAN PADA KIMIA ANALITIK KUANTITATIF 1.        LARUTAN NaOH 0,1  N                 4 gram NaOH dalam 1 Liter 2.        LARUTAN HCl 0,1 N HCl pekat = 37% HCl pekat = 12 M = 12 N                 8,33 mL HCl pekat = 1 Liter 0,1 N 3.        LARUTAN H 2 SO 4 0,1 N H 2 SO 4 pekat = 96 % H 2 SO 4 pekat = 17,63 M = 18 M = 36 N        2,78 mL H 2 SO 4 pekat = 1 liter 0,1 N 4.        LARUTAN CH 3 COOH 0,1 N CH 3 COOH pekat = 99,5 % CH 3 COOH pekat = 17 M = 17 N        5,88 mL CH 3 COOHpekat = 1 liter 0,1 N 5.        LARUTAN Na 2 S 2 O 3 0,1 N             26 gram Na 2 S 2 O 3 dengan 0,2   g Na 2 CO 3 dilarutkan dalam air bebas CO 2 segar sampai volume 1000 ml 6.        LARUTAN KIO 3 0,1 N             3 , 5 g KIO 3 encerkan dengan air hingga 1000 m L 7.        LARUTAN KMnO 4 0,1 N      3,3 gram Kalium Permanganat P adat dilarutkan dalan air hingga 1000 ml 8.        LARUTAN IODIUM (I 2 ) 0,1 N 12,69 gram I 2 P adat ke dalam la

C++ #03 Mengenal Fungsi Input dan Output

Belajar C++ #03: Mengenal Fungsi Input dan Output pada C++ #  C++ Pada dasarnya, program komputer hanya terdiri dari tiga bagian: Input  adalah sesuatu data yang kita masukan ke dalam program. Input biasanya diambil dari perangakat inputan seperti keyboard, mouse, kamera, microphone, dll. Proses  adalah langkah-langkah yang harus dilakukan program untuk menghasilkan output. Output  adalah informasi yang dihasilkan setelah dilakukan proses. Output biasanya ditampilkan ke layar komputer. Pada bahasa pemrograman C++, terdapat beberapa fungsi dasar untuk menampilkan output dan mengambil input. Apa saja itu? Mari kita bahas… Fungsi Output pada C++ C++ memiliki empat fungsi dasar untuk menampilkan output: cout  untuk menampilkan teks ke layar; cerr  untuk menampilkan error; clog  untuk menampilkan log; printf()  untuk menampilkan output, fungsi ini dari C; Kita akan fokus memabahas yang dua saja, yakni  cout  dan  printf() . Soalnya  cerr  dan  clog