Cara Memasukkan Data ke JTable dengan ArrayList di Java

Cara Menambahkan Data ke Table dengan Array List di Java - Kali ini kita akan belajar cara memasukkan data ke dalam tabel. Pada tutorial ini kita akan menggunakan ArrayList. Kenapa ArrayList? Karena ArrayList merupakan array yang bersifat dinamis. Jadi, ArrayList akan menyesuaikan diri dengan banyaknya data yang nanti kita inputkan.
Langsung ke tutorialnya, pertama kita buat Java Class dengan nama EntitasData.java

== Source Code EntitasData.java
/**
 *
 * @author www.kangsunu.web.id
 */
public class EntitasData {
    private String nama, alamat;
    private int usia;
    
    public EntitasData(){}
    
    public EntitasData(String nama, String alamat, int usia) {
        this.nama = nama;
        this.alamat = alamat;
        this.usia = usia;
    }

    public String getNama() {
        return nama;
    }
    public String getAlamat() {
        return alamat;
    }
    public int getUsia() {
        return usia;
    }
}

Kedua, buatlah JFrame FormData.java
Cara Menambahkan Data ke JTable dengan ArrayList

== Source Code FormData.java
import java.util.ArrayList;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author www.kangsunu.web.id
 */
public class FormData extends javax.swing.JFrame {

    ArrayList<EntitasData> listData = new ArrayList<EntitasData>();
    DefaultTableModel tabelModel;
    
    /**
     * Creates new form Form
     */
    public FormData() {
        initComponents();
        tampilData();
    }

    public void tampilData(){
        String[] kolom = {"Nama","Alamat","Usia"};
        Object[][] objData = new Object[listData.size()][3]; // 3 merupakan jumlah kolom
        
        int i = 0;
        for(EntitasData n : listData){
            String[] arrData = {n.getNama(), n.getAlamat(), String.valueOf(n.getUsia())};
            objData[i] = arrData;
            i++;
        }
        
        tabelModel = new DefaultTableModel(objData,kolom){
            //membuat tabel tidak bisa diedit saat diklik
            @Override
            public boolean isCellEditable(int rowIndex, int colIndex) {
                return false;
            }
        };
        
        tblData.setModel(tabelModel);
    }
    
    public void isiData(String nama, String alamat, int usia){
        EntitasData ed = new EntitasData(nama, alamat, usia);
        listData.add(ed);
    }
    
    private void resetInputan(){
        txtNama.setText("");
        txtAlamat.setText("");
        txtUsia.setText("");
        txtNama.requestFocus();
    }

Pada btnSimpan beri event action -> actionPerformed, dan masukkan kode ini:
if(txtNama.getText().equals("")) txtNama.setText("-");
if(txtAlamat.getText().equals("")) txtAlamat.setText("-");
if(txtUsia.getText().equals("")) txtUsia.setText("0");

isiData(txtNama.getText(), txtAlamat.getText(), Integer.parseInt(txtUsia.getText()));
tampilData();
resetInputan();

Pada btnHapus beri event action -> actionPerformed, dan masukkan kode ini:
int a = tblData.getSelectedRow();
if (a == -1) {            
} else {
    listData.remove(a);
}
tampilData();

Itu dia cara menginputkan data ke dalam tabel dengan arraylist. Disini juga sudah termasuk cara menghapus data yang ada di dalam tabel. Bila dari teman-teman ada yang belum bisa, silakan tinggalkan komentar ya. Atau teman-teman bisa download programnya disini atau disini.
Sekian tentang cara memasukkan data ke JTable dengan ArrayList di java, semoga tulisan ini bermanfaat untuk teman-teman.


Mungkin ini yang kamu cari:
  • Cara Menambahkan Data ke Dalam JTable menggunakan ArrayList di Java NetBeans
  • Cara Menghapus Data di Dalam JTable di java
  • Cara Membuat Isi Tabel di java Tidak Bisa Diedit
  • Membuat JTable tidak bisa diedit
  • Menghapus data di dalam tabel di java
  • Input Data ke JTable
  • Menampilkan Hasil Input ke JTable
Next Post Previous Post
15 Comments
  • Unknown
    Unknown 3 Mei 2016 pukul 16.43

    passwordnya apa ya?

    • Sunu Aziz Rahayu
      Sunu Aziz Rahayu 15 Mei 2016 pukul 22.29

      pass: kangsunu

  • dadad zainal musadad
    dadad zainal musadad 31 Mei 2016 pukul 18.41

    tblData nya disimpan dimana kang?

    • Sunu Aziz Rahayu
      Sunu Aziz Rahayu 31 Mei 2016 pukul 20.57

      di FormData.java mas

    • Unknown
      Unknown 6 September 2016 pukul 03.32

      mas itu tblData di declare dimana ya? kok tiba" di FormData.java dan di button tiba" ada

    • Unknown
      Unknown 6 September 2016 pukul 03.33

      mas mau tanya itu tblData di deklarasikan dimana ya? kok di FormData.java tiba" ada disitu. apakah masih ada class yang lain? Mohon pencerahannya. Sebelumnya terimakasih :)

    • Unknown
      Unknown 6 September 2016 pukul 12.52

      maaf mas mau tanya untuk tblData itu di deklarasikan di class mana ya? soalnya di FormData.java itu tblData nya dipanggil.

  • ADITYA
    ADITYA 18 Juni 2016 pukul 17.21

    class EntitasData itu gunanya buat apa mas ?

    • Sunu Aziz Rahayu
      Sunu Aziz Rahayu 29 Juni 2016 pukul 14.09

      menyimpan data yang diinputkan mas

  • Unknown
    Unknown 6 September 2016 pukul 03.34

    Mas mau tanya kalau mau ambil data nya dari database source code untuk ambil data dari database ditulis dimana ya? terimakasih sebelumnya :)

    • Sunu Aziz Rahayu
      Sunu Aziz Rahayu 9 November 2016 pukul 07.33

      nanti tutorialnya saya buat, ditunggu saja mas :D

  • Unknown
    Unknown 8 November 2016 pukul 10.14

    Kalo dari Db gmn Mas ??? yg baik ?? + export excel dari Jtable mas yg mna data dari DB

    Terimakasi

    • Sunu Aziz Rahayu
      Sunu Aziz Rahayu 9 November 2016 pukul 07.32

      kalau menampilkan data database ke jtable ada bermacam-macam cara mas, kalau yang baik saya juga belum tahu mas.

      untuk export ke dalam excel saya juga belum tahu, tapi kenapa export excel gak diambil dari database langsung saja mas? walaupun dari jtable mungkin bisa (saya belum pernah praktek)

  • muhammad helmi
    muhammad helmi 18 Januari 2017 pukul 18.16

    mas kenapa ya getnama itu error terus

  • Lucyd
    Lucyd 1 Desember 2019 pukul 12.43

    thanks gan.. sangat bermanfaat

Add Comment
comment url