masalah package bebas tinggal disesuaikan saja.
package tugas;
import javax.swing.*;
import java.sql.*;
import java.awt.*;
import javax.swing.table.*;
import java.awt.event.*;
import java.util.*;
public class rubahData extends JFrame
{
//deklarasi komponen
JTabbedPane tab = new JTabbedPane();
JPanel panel1 = new JPanel();
JLabel jLabel4 = new JLabel();
JScrollPane jScrollPane1 = new JScrollPane();
JTable tabel = new JTable();
DefaultTableModel tabMode;
Connection konek;
JLabel jLabel2 = new JLabel();
JTextField dataAlamat = new JTextField();
JTextField datatgl_lahir = new JTextField();
JTextField dataKode = new JTextField();
JLabel jLabel1 = new JLabel();
JLabel jLabel3 = new JLabel();
Button rubah = new Button();
JTextField dataNama = new JTextField();
JLabel jLabel5 = new JLabel();
JTextPane caraPengguna = new JTextPane();
/**
* Method main
* @param args = arguments
*/
public static void main (String args[]){
rubahData Data = new rubahData();
Data.setSize(400, 500);
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
int lebar = (screen.width-Data.getSize().width)/2;
int tinggi = (screen.height-Data.getSize().height)/2;
Data.setTitle("Data Mahasiswa");
Data.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Data.setLocation(lebar, tinggi);
Data.setResizable(false);
Data.setVisible(true);
}
/**
* konstruktor
* method ini berisikan pembuatan komponen dan penambahan action listener
*/
public rubahData(){
this.getContentPane().setLayout(null);
tabel.setToolTipText("");
tabel.setVerifyInputWhenFocusTarget(false);
jLabel4.setText("Daftar Data yang telah tersimpan di dalam database");
jLabel4.setBounds(new Rectangle(15,9,362,19));
//membuat tabel
Object[] row = {"NIM","Nama","Alamat","Tgl lahir"};
tabMode = new DefaultTableModel(null,row);
jScrollPane1.setBounds(new Rectangle(13,31,365,167));
tabel.setModel(tabMode);
//menambahkan MouseListener pada tabel
tabel.addMouseListener(new java.awt.event.MouseAdapter(){
//proses saat tabel dklik
public void mouseClicked(MouseEvent e){
dapatData_dari_Tabel();
}
});
jLabel1.setRequestFocusEnabled(true);
jLabel1.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel1.setText("NIM : ");
jLabel1.setBounds(new Rectangle(15,309,92,23));
jLabel2.setBounds(new Rectangle(15,334,89,23));
jLabel2.setText("Nama : ");
jLabel2.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel2.setRequestFocusEnabled(true);
jLabel3.setRequestFocusEnabled(true);
jLabel3.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel3.setText("Alamat : ");
jLabel3.setBounds(new Rectangle(18,363,89,23));
jLabel5.setRequestFocusEnabled(true);
jLabel5.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel5.setText("Tanggal lahir : ");
jLabel5.setBounds(new Rectangle(18,397,89,22));
dataAlamat.setEnabled(true);
dataAlamat.setBounds(new Rectangle(109,366,177,22));
dataKode.setEnabled(true);
dataKode.setBounds(new Rectangle(109,309,91,22));
dataNama.setEnabled(true);
dataNama.setBounds(new Rectangle(109,336,177,22));
datatgl_lahir.setEnabled(true);
datatgl_lahir.setBounds(new Rectangle(109,397,177,22));
rubah.setActionCommand("");
rubah.setBackground(SystemColor.inactiveCaption);
rubah.setEnabled(true);
rubah.setLabel("EDIT");
rubah.setBounds(new Rectangle(123,430,93,26));
this.setTitle("Proses Memodifikasi Data");
caraPengguna.setEditable(true);
caraPengguna.setText("Cara menggunakan :\nKlik data yang ingin dirubah pada TABEL, kemudian"+"memodifikasi data yang anda inginkan pada kotak teks di bawah ini "+"dan klik tombol RUBAH untuk melakukan proses modifikasi atau perubahan data");
caraPengguna.setBounds(new Rectangle(13,210,367,87));
// menambahkan Action Listener pada tombol RUBAH
rubah.addActionListener(new java.awt.event.ActionListener(){
//proses saat tombol RUBAH dklik
public void actionPerformed(ActionEvent e){
proses_rubahData(e);
}
});
this.getContentPane().add(jScrollPane1, null);
this.getContentPane().add(jLabel4, null);
jScrollPane1.getViewport().add(tabel, null);
this.getContentPane().add(rubah,null);
this.getContentPane().add(jLabel2,null);
this.getContentPane().add(caraPengguna,null);
this.getContentPane().add(dataAlamat,null);
this.getContentPane().add(dataKode,null);
this.getContentPane().add(jLabel1,null);
this.getContentPane().add(jLabel3,null);
this.getContentPane().add(dataNama,null);
this.getContentPane().add(datatgl_lahir,null);
this.getContentPane().add(jLabel5,null);
this.getContentPane().add(tab,null);
//memanggil method koneksiDatabase()untuk koneksi database
koneksiDatabase();
//memanggil method tampilDataTabel()untuk menampilkan data pada tabel
tampilDataKeTabel();
}
/**
* method koneksiDatabase
* untuk melakukan koneksi dengan database server
* database server = MySQL
* getConection yang digunakan adalah getConection(url, properties)
*/
public void koneksiDatabase()
{
//mencoba memanggil Driver JDBC
try{
Class.forName("com.mysql.jdbc.Driver");
System.out.print("suksess driver JDBC ditemukan...");
try
{
String url = "jdbc:mysql://localhost:3306/mahasiswa";
Properties prop = new Properties();
prop.put("user", "root");
prop.put("password", "");
konek = DriverManager.getConnection(url,prop);
System.out.print("sukses koneksi...");
}
//gagal koneksi
catch(SQLException se)
{
System.out.print("koneksi gagal = "+se);
System.exit(0);
}
}
//gagal memanggil driver JDBC
catch(ClassNotFoundException cnfe)
{
System.out.print("class tidak ditemukan.. Error : "+cnfe);
System.exit(0);
}
}// akhir koneksi database()
/*method tampilDatakeTabel
* untuk menampilkan data yang telah tersimpan pada database ke tabel
*/
public void tampilDataKeTabel(){
hapusTabel();
try{
String sql = "Select * from data order by NIM";
Statement stat = konek.createStatement();
ResultSet set = stat.executeQuery(sql);
while (set.next()){
String kode = set.getString("nim");
String nama = set.getString("nama");
String alamat = set.getString("alamat");
String tgl_lahir = set.getString("tgl_lahir");
String data [] = {kode, nama, alamat, tgl_lahir};
tabMode.addRow(data);
}
}
catch(Exception e){}
}
public void hapusTabel(){
int row = tabMode.getRowCount();
for (int i = 0; i < row; i++){
tabMode.removeRow(0);
}
}
void dapatData_dari_Tabel(){
int row = tabel.getSelectedRow();
// mengambil data-data yang dipilih pada tabel
String Kode = tabMode.getValueAt(row, 0).toString();
String Nama = tabMode.getValueAt(row, 1).toString();
String Alamat = tabMode.getValueAt(row, 2).toString();
String tgl_lahir = tabMode.getValueAt(row, 3).toString();
dataKode.setText(Kode);
dataNama.setText(Nama);
dataAlamat.setText(Alamat);
datatgl_lahir.setText(tgl_lahir);
//apabila data tidak dipilih
if (dataKode.getText().equals(" ")){
dataKode.setEnabled(false);
dataNama.setEnabled(false);
dataAlamat.setEnabled(false);
datatgl_lahir.setEnabled(false);
rubah.setEnabled(false);
}
//apabila data dipilih
else{
dataKode.setEnabled(false);
dataNama.setEnabled(true);
dataAlamat.setEnabled(true);
datatgl_lahir.setEnabled(true);
dataNama.requestFocus();
rubah.setEnabled(true);
}
}
/**
* method proses_rubahData()
* untuk melakukan modifikasi data
*/
public void proses_rubahData(ActionEvent e){
int ok = JOptionPane.showConfirmDialog(null, "anda yakin ingin memodifikasi data\ndengan kode = "+dataKode.getText()+"","konfirmasi memodifikasi data", JOptionPane.YES_NO_OPTION);
//apabila tombol OK ditekan
if (ok == 0){
try{
String sql = "update data set nama=?,alamat=?,tgl_lahir=? where nim="+dataKode.getText()+"";
PreparedStatement stat = konek.prepareStatement(sql);
try{
stat.setString(1, dataNama.getText());
stat.setString(2, dataAlamat.getText());
stat.setString(3, datatgl_lahir.getText());
stat.executeUpdate();
tampilDataKeTabel();
dataKode.setText("");
dataNama.setText("");
dataAlamat.setText("");
datatgl_lahir.setText("");
rubah.setEnabled(true);
dataNama.setEnabled(true);
dataAlamat.setEnabled(true);
datatgl_lahir.setEnabled(true);
}
catch (SQLException se){
System.out.println("pesan error = " +se);
}
}
catch (SQLException se){}
}
}
}// akhir kelas
diatas sebagai tampilan awal. skrg kita akan mengedit bagian tanggal lahir yaitu menjadi 26 mei 1992. seperti ini tampilannya
Inilah tampilan akhir dari program diatas.
wasalam. Share
0 comments:
Post a Comment