1. Pembuatan Form
1.1 Komponen yang digunakan
Komponen Swing dan Variabel | |||
---|---|---|---|
Komponen | Nama Variabel | Fungsi | |
JButton | btn_clear | Untuk membersihkan tabel | |
JButton | btn_tambah | Menambahkan data ke tabel | |
JCheckbox | cbstatus | Inputan data dalam bentuk ceklist | |
JComboBox | cb_angkatan | Input data angkatan mahasiswa | |
JLabel1 | Nama | Teks Judul | |
JLabel2 | NPM | Teks Judul | |
JLabel3 | Angkatan | Teks Judul | |
JLabel4 | Kelas | Teks Judul | |
JLabel5 | IPK | Teks Judul | |
JLabel6 | Jenis Kelamin | Teks Judul | |
JLabel7 | Status | Teks Judul | |
JLabel8 | Jumlah | Teks Judul | |
JLabel9 | Aktif | Teks Judul | |
JPanel | JPanel1 | Memberi warna pada window | |
JRadioButton | rdLaki | Pilihan untuk laki-laki | |
JRadioButton | rdPerempuan | Pilihan untuk perempuan | |
JTable | tabelData | Untuk membuat tabel | |
JTextfield | jumlah_data | Menjumlahkan data ditabel | |
JTextfield | txt_ipk | Input data IPK | |
txt_kelas | Aktif | Input data Kelas | |
JTextfield | txt_nama | Input data Nama | |
JTextfield | txt_npm | Input data NPM |
Adapun perintah event yang saya gunakan antara lain :
- ActionListener Adalah sebuah interface yang merupakan sebuah sub interface EventListener, ActionListener digunakan untuk menerima suatu event seperti penekanan button, pemilihan menu atau penekanan tombol enter ketika penulisan pada textField. ActionListener memiliki satu method yaitu actionPerformed() yang merupakan kode aksi dari event yang diterima ActionListener.
1.2 Mendesain Form
4. Untuk mendesain tampilan tabel agar terlihat rapih, bisa dilakukan dengan cara klik kanan pada JTable > pilih properties > pada bagian rows dan column atur sesuai jumlah data yang ingin ditampilkan pada tabel, kemudian pada kolom title isikan judul untuk setiap kolom
Atau bisa juga melalui klik kanan JTable > Customized code > ada 2 kolom dropdown bernama “default code” , pada colom kedua rubah menjadi “custom property” > kemudian edit data element String disampingnya
new Object [][] {
},
new String [] {
“Nama”, “NPM”, “Angkatan”, “Kelas”, “IPK”, “JK”, “Status”
}
));
II. Proses Coding dan Penjelasan
2.1 Screen Shoot Coding
2.1.1 Header
Java menyediakan banyak collection yang bisa anda gunakan salah satunya yang kita gunakan disini yaitu ArrayList untuk menampilkan daftar atau nilai dengan cara menambahkan (add) atau (remove). Kemudian JOptionPane untuk menampilkan pesan dialog untuk memberi tau pengguna apakah suatu proses berjalan dengan baik atau error
2.1.2 Input data table
String ls_jk=””;
if(rdLaki.isSelected()){
ls_jk = rdLaki.getText();
}
else if(rdPerempuan.isSelected()){
ls_jk = rdPerempuan.getText();
}
String ls_status=””;
if (cbStatus.isSelected()){
ls_status=”Aktif”;
}else{
ls_status=”Tidak Aktif”;
}
DefaultTableModel dataModel = (DefaultTableModel) tabelData.getModel();
List list = new ArrayList<>();
tabelData.setAutoCreateColumnsFromModel(true);
list.add(txt_nama.getText());
list.add(txt_npm.getText());
list.add(cb_angkatan.getSelectedItem().toString());
list.add(txt_kelas.getText());
list.add(txt_ipk.getText());
list.add(ls_jk);
list.add(ls_status);
dataModel.addRow(list.toArray());
sum();
2.1.3 Membersihkan Tabel
DefaultTableModel dataModel = (DefaultTableModel) tabelData.getModel();
if (tabelData.getRowCount() > 0) {
for (int i = tabelData.getRowCount() – 1; i > -1; i–) {
dataModel.removeRow(i);
2.1.3 Menghitung total data dengan fungsi sum()
Dibawah kode ” initComponents(); } ” buat void baru dengan fungsi untuk menjumlahkan isi tabel. Variabel hasil jumlah berisi data hasil pengecekan (count) yang ada pada tabel. Selanjutnya dilakukan perulangan pada masing-masing kolom dan index kolom berdasarkan fungsi array, barulah dilakukan penjumlahan yang hasilnya kita tampilkan pada JTextfield jumlah_data
private void sum(){
DefaultTableModel dataModel = (DefaultTableModel) tabelData.getModel();
int jumlah = dataModel.getRowCount();
jumlah_data.setText(Integer.toString(jumlah));
}
Fungsi sum(sum) tidak akan bisa jalankan sebelum anda panggil pada tombol tambah dan tombol bersihkan dengan menambahkan fungsi sum(); setelah dataModel.addRow(list.toArray());
Button tambah
String ls_jk=””;
if(rdLaki.isSelected()){
ls_jk = rdLaki.getText();
}
else if(rdPerempuan.isSelected()){
ls_jk = rdPerempuan.getText();
}
String ls_status=””;
if (cbStatus.isSelected()){
ls_status=”Aktif”;
}else{
ls_status=”Tidak Aktif”;
}
DefaultTableModel dataModel = (DefaultTableModel) tabelData.getModel();
List list = new ArrayList<>();
tabelData.setAutoCreateColumnsFromModel(true);
list.add(txt_nama.getText());
list.add(txt_npm.getText());
list.add(cb_angkatan.getSelectedItem().toString());
list.add(txt_kelas.getText());
list.add(txt_ipk.getText());
list.add(ls_jk);
list.add(ls_status);
dataModel.addRow(list.toArray());
sum();
Button bersihkan
DefaultTableModel dataModel = (DefaultTableModel) tabelData.getModel();
if (tabelData.getRowCount() > 0) {
for (int i = tabelData.getRowCount() – 1; i > -1; i–) {
dataModel.removeRow(i);
jumlah_data.setText(“”);
}
}
2.1.4 Menampilkan dialog dengan JOptionPane
JOptionPane ditambahkan action event mouseClick terdiri dari basic message , error messages , information messages , warning messages , question messages , plain messages, action dialog, confirm dialog, input dialog
Diletakkan pada button tambah (diatas kode tambah)
JOptionPane.showMessageDialog(null, “Contoh : Data anda berhasil “
+ “tersimpan !!”, “Title : Pesan Informasi ???”,
JOptionPane.INFORMATION_MESSAGE);
Diletakkan pada button bersihkan (diatas kode hapus)
JOptionPane.showMessageDialog(null, “Yakin membersihkan tabel?”, “Title : Pesan Error ???”, JOptionPane.ERROR_MESSAGE);
Hasil running :