Petemuan 13(Load Data to JTabel)

Embed Size (px)

Citation preview

  • 8/4/2019 Petemuan 13(Load Data to JTabel)

    1/10

    Load data to Jtabel

    1. Buatlah database dengan nama sekolah.

    2. Buatlah tabel Siswa

    ketentuannya adalah sbb:

    isilah atribut table:

  • 8/4/2019 Petemuan 13(Load Data to JTabel)

    2/10

    2. Buatlah sebuah projek baru dengan nama Bebas:

    buatlah sebuah paket baru dengan nama bebas juga:

    bautlah sebuah main class pada paket yang barusaja di buat dengan nama Loaddata.

  • 8/4/2019 Petemuan 13(Load Data to JTabel)

    3/10

    selanjutnya add liraries

    isilah Main celass loaddata dengan kode sbb:

    package asep.ViewFulcoding;

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.ResultSet;import java.sql.ResultSetMetaData;

    import java.sql.SQLException;import java.sql.Statement;

    import java.util.logging.Level;

    import java.util.logging.Logger;

    import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTable;

    import javax.swing.SwingUtilities;

    import javax.swing.table.DefaultTableModel;

    /***

    * @author asep

    */public class View {

    String url="jdbc:mysql://localhost:3306/sekolah";String username="root";

    String password="root";

  • 8/4/2019 Petemuan 13(Load Data to JTabel)

    4/10

    public View() {

    try {

    //kode ini digunakan untuk meload mysql driverClass.forName("com.mysql.jdbc.Driver");

    //melakukan koneksi ke local host databaseConnection con=DriverManager.getConnection(url,username, password);

    Statement statement=con.createStatement();ResultSet rs=statement.executeQuery("select * from sekolah.Siswa");//proses meload query

    //mendapatkan meta data dari databaseResultSetMetaData rsmd=rs.getMetaData();

    int nomor=rsmd.getColumnCount();//mengitung jumlah kolom

    //membuat nama kolom tabelString kolom []={"nama depan","nama belakang","alamat"};

    //memformat tabel beserta isinyaDefaultTableModel model=new DefaultTableModel();

    model.setColumnIdentifiers(kolom);//meneset header kolom

    while(rs.next()){//lakukan perulangan sampai akhir dataString data[]=new String[nomor];

    for(int i=0;i

  • 8/4/2019 Petemuan 13(Load Data to JTabel)

    5/10

    public void run() {

    new View();//tampilakn program}

    });}

    }

    Keluarannya adalah abb:

    Selanjutnya buatlah paket baru lagi dengan nama Load data dengan abstract tabel model.

    Buatlah class pojo dengan nama Siswa.

    package asep.loadData.dgnTabelModel;

    /**

    ** @author asep

    */

    public class Siswa {private String namaDepan;

    private String namaBelakang;private String alamat;

    public String getAlamat() {

    return alamat;}

  • 8/4/2019 Petemuan 13(Load Data to JTabel)

    6/10

    public void setAlamat(String alamat) {

    this.alamat = alamat;

    }

    public String getNamaBelakang() {return namaBelakang;

    }

    public void setNamaBelakang(String namaBelakang) {

    this.namaBelakang = namaBelakang;}

    public String getNamaDepan() {return namaDepan;

    }

    public void setNamaDepan(String namaDepan) {

    this.namaDepan = namaDepan;}

    @Override

    public boolean equals(Object obj) {

    if (obj == null) {return false;

    }if (getClass() != obj.getClass()) {

    return false;

    }final Siswa other = (Siswa) obj;

    if ((this.namaDepan == null) ? (other.namaDepan != null) : !this.namaDepan.equals(other.namaDepan)) {

    return false;

    }if ((this.namaBelakang == null) ? (other.namaBelakang != null) : !

    this.namaBelakang.equals(other.namaBelakang)) {return false;

    }

    if ((this.alamat == null) ? (other.alamat != null) : !this.alamat.equals(other.alamat)) {

    return false;}return true;

    }

    @Override

    public int hashCode() {int hash = 7;

    hash = 17 * hash + (this.namaDepan != null ? this.namaDepan.hashCode() : 0);

    hash = 17 * hash + (this.namaBelakang != null ? this.namaBelakang.hashCode() : 0);hash = 17 * hash + (this.alamat != null ? this.alamat.hashCode() : 0);

    return hash;}

  • 8/4/2019 Petemuan 13(Load Data to JTabel)

    7/10

    }

    Buatlaha sebauh kelas baru dengan nama TabelModelSiswa.

    isilah class tadi dengan kode:

    package asep.loadData.dgnTabelModel;

    import java.util.List;

    import javax.swing.table.AbstractTableModel;

    /**

    *

    * @author asep*/

    public class TabelModelSiswa extends AbstractTableModel{private List list;

    public TabelModelSiswa(List list) {

    this.list = list;

    }

    public int getRowCount() {return list.size();

    }

    public int getColumnCount() {

  • 8/4/2019 Petemuan 13(Load Data to JTabel)

    8/10

    return 3;

    }

    public Object getValueAt(int i, int i1) {

    switch(i1){case 0:return list.get(i).getNamaDepan();

    case 1:return list.get(i).getNamaBelakang();case 2:return list.get(i).getAlamat();default:return null;

    }}

    @Overridepublic String getColumnName(int column) {

    switch(column){case 0:return "nama Depan";

    case 1:return "nama Belakang";

    case 2:return "Alamat";default:return null;

    }}

    }

    Kemusdian buatlah sebuah main kelas:

    dan isilah kode seperti berikut:

    package asep.loadData.dgnTabelModel;

    import java.sql.Connection;

    import java.sql.DriverManager;import java.sql.ResultSet;

    import java.sql.SQLException;import java.sql.Statement;

    import java.util.ArrayList;

    import java.util.List;import java.util.logging.Level;

    import java.util.logging.Logger;

  • 8/4/2019 Petemuan 13(Load Data to JTabel)

    9/10

    import javax.swing.JFrame;

    import javax.swing.JScrollPane;

    import javax.swing.JTable;import javax.swing.table.TableModel;

    /**

    ** @author asep*/

    public class tampilTabel {private JTable table=new JTable();

    private String url="jdbc:mysql://localhost:3306/sekolah";

    private String username="root";private String password="root";

    public tampilTabel() {try {

    Class.forName("com.mysql.jdbc.Driver");

    Connection connection=DriverManager.getConnection(url, username, password);Statement statement=connection.createStatement();

    ResultSet rs=statement.executeQuery("select * from sekolah.Siswa");List list=new ArrayList();

    while(rs.next()){

    Siswa s=new Siswa();s.setNamaDepan(rs.getString("namaDepan"));

    s.setNamaBelakang(rs.getString("namaBelakang"));s.setAlamat(rs.getString("alamat"));

    list.add(s);

    TableModel model=new TabelModelSiswa(list);table.setModel(model);

    }

    } catch (SQLException ex) {Logger.getLogger(tampilTabel.class.getName()).log(Level.SEVERE, null, ex);

    } catch (ClassNotFoundException ex) {Logger.getLogger(tampilTabel.class.getName()).log(Level.SEVERE, null, ex);

    }

    JFrame frame=new JFrame("contoh dengan tabel model");

    frame.add(new JScrollPane(table));frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300, 200);

    frame.setLocationRelativeTo(null);

    frame.setVisible(true);}

    /**

    * @param args the command line arguments*/

    public static void main(String[] args) {// TODO code application logic here

    new tampilTabel();

  • 8/4/2019 Petemuan 13(Load Data to JTabel)

    10/10

    }

    }

    Jika berhasil keluarannya adalah sbb;