Pages

0

membuat TableModel untuk sebuah class menggunakan NetBeans IDE

Rabu, 21 November 2012
membuat TableModel untuk sebuah class menggunakan NetBeans IDE sekarang kita akan mencoba membuat sebuah class yang akan digunakan oleh TableModel, misal class Orang : 01 import java.util.Date; 02 03 /** 04 * 05 * @author usu 06 */ 07 public class Orang { 08 09 private String nama; 10 private String jenisKelamin; 11 private Date tanggalLahir; 12 private String alamat; 13 14 public Orang() { 15 } 16 17 public String getAlamat() { 18 return alamat; 19 } 20 21 public void setAlamat(String alamat) { 22 this.alamat = alamat; 23 } 24 25 public String getJenisKelamin() { 26 return jenisKelamin; 27 } 28 29 public void setJenisKelamin(String jenisKelamin) { 30 this.jenisKelamin = jenisKelamin; 31 } 32 33 public String getNama() { 34 return nama; 35 } 36 37 public void setNama(String nama) { 38 this.nama = nama; 39 } 40 41 public Date getTanggalLahir() { 42 return tanggalLahir; 43 } 44 45 public void setTanggalLahir(Date tanggalLahir) { 46 this.tanggalLahir = tanggalLahir; 47 } 48 } sekarang kita buat sebuah class yang bernama TableModelOrang, yang merupakan class untuk model JTable. dan ingat class tersebut harus turunan dari interface TableModel : 01 import javax.swing.table.AbstractTableModel; 02 03 /** 04 * 05 * @author usu 06 */ 07 public class TableModelOrang extends AbstractTableModel { 08 09 public int getRowCount() { 10 } 11 12 public int getColumnCount() { 13 } 14 15 public Object getValueAt(int rowIndex, int columnIndex) { 16 } 17 } sekarang tinggal kita lengkapi class TableModelOrang diatas menjadi seperti dibawah ini : 01 import java.util.ArrayList; 02 import javax.swing.table.AbstractTableModel; 03 04 /** 05 * 06 * @author usu 07 */ 08 public class TableModelOrang extends AbstractTableModel { 09 10 // Kumpulan Data Orang 11 private ArrayList data; 12 13 public TableModelOrang() { 14 // Mendeklarasikan Data 15 data = new ArrayList(); 16 } 17 18 // Menghapus Orang 19 public Orang remove(int index) { 20 Orang forReturn = data.remove(index); 21 // memberi tahu bahwa ada data yang dihapus 22 fireTableRowsDeleted(index, index); 23 return forReturn; 24 } 25 26 // Mendapatkan Orang 27 public Orang get(int index) { 28 return data.get(index); 29 } 30 31 // Menambah Orang 32 public boolean add(Orang e) { 33 boolean forReturn = data.add(e); 34 // Memberi tahu bahwa ada data yang masuk 35 fireTableRowsInserted(data.size() - 1, data.size() - 1); 36 return forReturn; 37 } 38 39 // Mengubah Orang 40 public Orang set(int index, Orang element) { 41 Orang forReturn = data.set(index, element); 42 // Memberitahu bahwa ada data yang diupdate 43 fireTableRowsUpdated(index, index); 44 return forReturn; 45 } 46 // Panjang Baris 47 public int getRowCount() { 48 return data.size(); 49 } 50 51 // Panjang Kolom 52 public int getColumnCount() { 53 return 4; 54 } 55 56 // Nilai untuk cell(baris, kolom) 57 public Object getValueAt(int rowIndex, int columnIndex) { 58 switch (columnIndex) { 59 case 0: 60 return data.get(rowIndex).getNama(); 61 case 1: 62 return data.get(rowIndex).getJenisKelamin(); 63 case 2: 64 return data.get(rowIndex).getTanggalLahir(); 65 case 3: 66 return data.get(rowIndex).getAlamat(); 67 default: 68 return null; 69 } 70 } 71 72 // Nama Kolom pada posisi ke-? 73 public String getColumnName(int column) { 74 switch (column) { 75 case 0: 76 return "Nama"; 77 case 1: 78 return "Jenis Kelamin"; 79 case 2: 80 return "Tanggal Lahir"; 81 case 3: 82 return "Alamat"; 83 default: 84 return null; 85 } 86 } 87 }