Persiapan
1.
Install NetBeans 6
Tutorial ini dibuat dengan menggunakan NetBeans Silahkan install terlebih dahulu di komputer yang Anda gunakan.
2.
3. 1. 2. 3.
Buatlah 1 tabel berdasarkan model relasional berikut Nama tabel: customer Kolom:
Pada bagian Services, buat koneksi baru: Klik kanan MySQL Klik New Connection
Klik kanan folder Tables, lalu pilih Execute Command Ketikan 2 perintah insert berikut dan klik tombol execute
insert into customer values ('111','John Doe','Jl. Jakarta 1', 'Jakarta');
Pilih
3d. Hasil
Drag & Drop ke dalam MainWindow Resize (perbesar) ukuran Internal Frame tsb
Internal Frame
closeable true (beri tanda check) defaultCloseOperation HIDE title Data Customer visible false
Drag & drop ke sebelah menu Edit Rename menu tersebut: Data Drag & drop sebuah Menu Item kepada menu Data Rename menu item tersebut: Customer Rename juga nama variabel menu item tsb: customerMenuItem
RUN PROGRAM
Drag & drop sebuah JTable ke dalam customerFrame Rename JTable: customerJTable
Pada Source Package, klik kanan, pilih NEW Pilih Entity Classes from Database
Pada Database Connection, pilih: swingerp Pindahkan semua tabel ke window kanan. Klik Next 2x. Klik Finish.
Entity classes (file java) untuk semua tabel dan relasi yang ada. Persistence unit (file xml)
Klik kanan package jpa_swing, klik Compile Package Buka file Customer.java untuk melihat variabel, access methods & annotation-nya yang dibuat secara otomatis oleh NetBeans!
Tapi, NetBeans 6 dapat membuatkannya secara otomatis untuk Anda dengan cara drag&drop table ke dalam JTable (lihat slide berikutnya)
NetBeans secara otomatis akan membuatkan 3 objek berikut: Rename swingerpPUEntityManager menjadi entityManger
Klik kanan setiap objek tsb, pilih property untuk melihat hubungan di antara ketiga objek tersebut!
RUN PROJECT
Tambahkan satu JPanel di bawah customerJTable Tambahkan 4 label & 4 text field Tambahkan 4 button Ubah nama variabel sebagai berikut:
JTextField:
idTF, namaTF, alamatTF, kotaTF JButton: tambahButton, hapusButton, refreshButton, saveButton dan tutupButton
Kita akan lakukan binding setiap JTextField dengan suatu nilai yang ada di JTable. Klik kanan idTF, pilih Bind, pilih text
Klik OK Lakukan hal yang sama untuk: namaTF, alamatTF, dan kotaTF
RUN PROJECT
Run project Pilihlah baris pada tabel, sambil memperhatikan perubahan nilai pada textfield.
BINDING
Pada menu Inspector, pilih objek customerList Pada property customerList, beri tanda check pada field Observable
Dengan men-set Observable, data (list) & view (cell JTable) akan dapat otomatis bertambah secara bersamaan.
public MainWindow() {
this.setLocationRelativeTo(null);
TableSelectionListener listener = new TableSelectionListener(); customerJTable.getSelectionModel().addListSelectionListener(listener); entityManager.getTransaction().begin(); }
customerJTable.scrollRectToVisible(customerJTable.getCellRect(row, 0, true));
saveButton.setEnabled(true); }
Event-Handling
toRemove.add(c);
entityManager.remove(c); } customerList.removeAll(toRemove); saveButton.setEnabled(true); Note: tambahkan import untuk List dan ArrayList
Run Project
Program pengolahan Data Customer telah selesai. Silahkan menambah atau menghapus data pada tabel. Tekan tombol save untuk melakukan commit.