Anda di halaman 1dari 4

PRAKTIKUM : 9

JUDUL : MENAMPILKAN DATA PADA OBJEK JTABLE


WAKTU : 1 X 120 Menit

1. Kompetensi dasar
Masahasiswa dapat menggunakan komponen JTable untuk menampilkan data dari database

2. Teori Dasar
Salah satu komponen Swing yang paling sering kita gunakan dalm membuat sebuah aplikasi
(terutama aplikasi database), adalah JTable milik Swing.
Komponen yang sangat penting ini, memiliki kemampuan yang luas. baik dari segi
tampilan/interface ataupun dari segi data yang ada didalammnya.
Jtable hanya berfungsi sebagai Viewer data. artinya data yang sebenarnya tidak disimpan didalam
JTable melainkan dalam TableModel. jadi salah klo mengira data yang kita inputkan kedalam
JTable disimpan di Jtable.
dengan begitu untuk merubah, menambah, mengambil nilai yang ada di dalam JTable yang
diperlukan adalah mengubah TableModel nya saja.

3. Praktikum

import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.table.AbstractTableModel;
/**
*
* @author root
*/
public class ResultSetTableModel extends AbstractTableModel{
private ResultSet rs;
public ResultSetTableModel(ResultSet rs) {
this.rs = rs;
}
public int getColumnCount() {
try {
if(rs == null)
return 0;
else
return rs.getMetaData().getColumnCount();
}catch(SQLException e) {
System.out.println("resultset generating error while getting column
count");
System.out.println(e.getMessage());
return 0;
}
}
public int getRowCount() {
try {
if(rs == null)
return 0;
else {
rs.last();
return rs.getRow();
}
}catch(SQLException e) {
System.out.println("resultset generating error while getting rows
count");
System.out.println(e.getMessage());
return 0;
}
}
public Object getValueAt(int rowIndex, int columnIndex) {
if(rowIndex<0 || rowIndex > getRowCount() ||
columnIndex < 0 || columnIndex > getColumnCount())
return null;
try {
if(rs == null)
return null;
else {
rs.absolute(rowIndex+1);
return rs.getObject(columnIndex+1);
}
}catch(SQLException e) {
System.out.println("resultset generating error while fetching rows");
System.out.println(e.getMessage());
return null;
}
}
@Override
public String getColumnName(int columnIndex) {
try {
return rs.getMetaData().getColumnName(columnIndex+1);
}catch (SQLException e) {
System.out.println("resultset generating error while fetching column
name");
System.out.println(e.getMessage());
}
return super.getColumnName(columnIndex);
}
}
Class digunakan untuk mendukung class siswa, tambahkan code berikut pada class siswa

public class Siswa extends JFrame implements ActionListener {


private JPanel jpSiswa = new JPanel();
. . . .
. . . .

String[] strJdl={"No","Nis","Nama","Password","Alamat","Email","Jenis Kelamin"};

//Deklarasi untuk Tabel

JTable tabel = new JTable();


JScrollPane skrTabel = new JScrollPane();

Siswa (){

//pengaturan Tabel

skrTabel.getViewport().add(tabel);
tabel.setEnabled(true);
skrTabel.setBounds(15, 250, 470, 115);

//menambahkan tabel pada panel


jpSiswa.add(skrTabel);

//menambahkan objek JPanel pada container frame


getContentPane().add(jpSiswa);
//menampilkan tabel siswa ke komponen tabel
TampilTabel();

}
void Tambah(){
. . . .
. . . .

}
catch(SQLException e){
JOptionPane.showMessageDialog(null,"Data tidak ditambahkan ke" +
" database","infomasi",JOptionPane.INFORMATION_MESSAGE);
}
TampilTabel();
}
void Ubah(){
. . . .
. . . .
catch(SQLException e){
JOptionPane.showMessageDialog(null,"Data tidak
diUbah","infomasi",JOptionPane.
INFORMATION_MESSAGE);
}
TampilTabel();
}
void Hapus(){
. . . .
. . . .
catch(SQLException e){
JOptionPane.showMessageDialog(null,"Data tidak
dihapus","infomasi",JOptionPane.
INFORMATION_MESSAGE);
}
TampilTabel();
}
void TampilTabel(){
try {
Koneksi ObjKoneksi = new Koneksi();
Connection con = ObjKoneksi.bukaKoneksi();
Statement st = con.createStatement();
String sql = "SELECT * FROM siswa";
ResultSet set = st.executeQuery(sql);
//menampilkan data ke Tabel
ResultSetTableModel model = new ResultSetTableModel(set);
tabel.setModel(model);

while(set.next()){
txtNis.setText(Integer.toString(set.getInt("nis")));
txtNama.setText(set.getString("nama"));
txtPassword.setText(set.getString("password"));
txtAlamat.setText(set.getString("alamat"));
txtEmail.setText(set.getString("email"));
cboJenisKelamin.addItem(set.getString("jeniskelamin"));
}
}
catch(SQLException e) {
System.out.println("gagal query");
}
}

Keluaran dari program tersebut adalah :

Anda mungkin juga menyukai