Menggunakan Tabel di Netbeans

Pengantar

Tabel atau JTable merupakan salah satu fungsi yang ada pada class swing. Komponen ini biasanya digunakan untuk menampilkan data dalam bentuk tabel. Tabel sendiri memiliki beberapa kelebihan, diantaranya adalah, ketika kita akan menyajikan data dengan tabel, kita bisa menyajikan data dalam jumlah yang banyak. Hal tersebut tentu berbeda, dari ketika kita akan menyajikan data dalam format lain.

Bayangkan jika Anda memiliki ribuan data atau mungkin jutaan data dalam database. Cara menampilkan data yang paling logis tentu saja adalah menyajikannya dalam bentuk tabel.

Prasyarat

Sebelum bisa mengikuti tutorial ini, sebelumnya Anda harus sudah tahu tentang

  1. Cara untuk membuat project baru pada Netbeans
  2. Memahami dasar-dasar untuk mengubah nama variabel
  3. Cara untuk membuat project visual baru pada Netbeans

Jika Anda belum memenuhi prasyarat tersebut, kami persilakan untuk mempelajarinya terlebih dahulu, karena pada tutorial ini tidak akan dijelaskan.

Menambahkan Tabel

Untuk menambahkan tabel ke Area Kerja, silakan lakukan langkah-langkah berikut

Drag Tabel dari pallete

Temukan komponen tabel dari pallete, yang terletak pada kelompok swing controls. Kemudian drag ke area kerja

Silakan atur agar tampilan dari Tabel bisa fit ke frame yang ada

Modifikasi Kolom dan Baris Tanpa Model

Selanjutnya, mari kita modifikasi kolom dari tabel yang ada. Kita akan sesuaikan dengan data apa saja yang akan ditampilkan. Pada tutorial kali ini, kita akan menampilkan data mahasiswa dengan kolom yang terdiri dari NIM, Nama, Jenjang, Masuk, Smt dan Status.

1. Klik kanan pada tabel > Table Contents…

2. Pilih tab Columns

3. Sesuaikan titlenya

Jika title yang dibutuhkannya kurang, maka Anda bisa menambahkan title baru dengan menekan tombol insert. Begitu juga sebaliknya, jika lebih, Anda bisa menguranginya dengan menghapusnya.

4. Hasil akhir table yang sudang disesuaikan

5. Klik Kanan > Table Contents > Pilih Tab Rows

6. Isi data contoh pada tabs Rows

7. Jalankan Aplikasi

Modifikasi Tabel Menggunakan Kode Program

Atur Variabel Tabel Menjadi tabMahasiswa

Masuk ke source > tambahkan variabel table model

private DefaultTableModel tabModel;

Sehingga source code Anda akan seperti berikut

package ac.id.umtas.pti.visual;

import javax.swing.table.DefaultTableModel;

public class MainFrame extends javax.swing.JFrame {

    /**
     * Creates new form MainFrame
     */
    private DefaultTableModel tabModel;
    
    public MainFrame() {
        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() {

        jScrollPane1 = new javax.swing.JScrollPane();
        tabMahasiswa = new javax.swing.JTable();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        tabMahasiswa.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {"C2014201001", "INDRI CHAERUSAENI", "S1", "2020", "3", "Aktif"},
                {"C2014201002", "GEMA ADHA FEBRIYANTO", "S1", "2020", "3", "Aktif"},
                {"C2014201003", "ADITYA NUGRAHA", "S1", "2020", "3", "Aktif"},
                {"C2014201005", "YUNI SHOPIANTI", "S1", "2020", "3", "Aktif"}
            },
            new String [] {
                "NIM", "Nama", "Jenjang", "Masuk", "Smt", "Status"
            }
        ));
        jScrollPane1.setViewportView(tabMahasiswa);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(63, 63, 63)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 452, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(68, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(66, 66, 66)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 268, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(67, 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(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(MainFrame.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 MainFrame().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable tabMahasiswa;
    // End of variables declaration                   
}

Selanjutnya, kita akan fokusnya ke methos constructor-nya. Dalam hal ini method MainFrame

Ubah method mainFrame

public MainFrame() {
        initComponents();
        
        tabModel = new DefaultTableModel();
        
        tabMahasiswa.setModel(tabModel);
        
        tabModel.addColumn("NIM");
        tabModel.addColumn("Nama");
        tabModel.addColumn("Jenjang");
        tabModel.addColumn("Masuk");
        tabModel.addColumn("Smt");
        tabModel.addColumn("Status");
        
        String[][] dataMhs = {
                                {"C2014201001", "INDRI CHAERUSAENI", "S1", "2020", "3", "Aktif"},
                                {"C2014201002", "GEMA ADHA FEBRIYANTO", "S1", "2020", "3", "Aktif"},
                                {"C2014201003", "ADITYA NUGRAHA", "S1", "2020", "3", "Aktif"},
                                {"C2014201005", "YUNI SHOPIANTI", "S1", "2020", "3", "Aktif"}                            
                             };
        
        for (String[] dataMh : dataMhs) {
            tabModel.addRow(dataMh);
        }
    }

Hasil dari running aplikasi Anda, akan seperti berikut

About the Author

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

You may also like these

Mulai Chat
Butuh Bantuan?
Hi, selamat datang di Prilude Academy. Ada yang bisa kami bantu?

Kami siap membantu Anda pada jam kerja :)