package tampilan;
import javax.swing.*;
import database.Config;
import tampilan.Masuk;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Ganti_pass extends JDialog {
private JPanel panelTambahUser = new JPanel();
private JLabel lblID = new JLabel("ID : ");
private JLabel noID = new JLabel ("NoID");
private JLabel lblUser = new JLabel("Username : ");
private JLabel lblPass = new JLabel("Password Lama :");
private JLabel lblPass2 = new JLabel("Password Baru :");
private JTextField txtUser = new JTextField(15);
private JTextField txtPass = new JTextField(15);
private JTextField txtPass2 = new JTextField(15);
private JButton btnTambah = new JButton("Simpan");
private JButton btnClear = new JButton("Batal");
public String cekuserx;
private Connection koneksi;
private String oldPass;
public Ganti_pass (Utama owner, String title, ModalityType model){
super(owner, title, model);
super.setSize(400,280);
super.setResizable(false);
super.setLocationRelativeTo(null);
super.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
//panelTambahUser.setBorder(BorderFactory.createTitledBorder("Tambah User"));
panelTambahUser.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
panelTambahUser.setBorder(BorderFactory.createTitledBorder("Tambah User"));
c.fill=GridBagConstraints.HORIZONTAL;
c.insets=new Insets(10, 10, 10, 10);
c.gridx = 0;
c.gridy = 0;
panelTambahUser.add(lblID,c);
c.gridx = 1;
c.gridy = 0;
panelTambahUser.add(noID, c);
c.gridx = 0;
c.gridy = 2;
panelTambahUser.add(lblUser, c);
txtUser.setEditable(false);;
c.gridx = 1;
c.gridy = 2;
c.gridwidth=1;
panelTambahUser.add(txtUser,c );
c.gridx = 0;
c.gridy = 3;
panelTambahUser.add(lblPass,c);
c.gridx = 1;
c.gridy = 3;
panelTambahUser.add(txtPass,c);
c.gridx = 0;
c.gridy = 4;
panelTambahUser.add(lblPass2,c);
c.gridx = 1;
c.gridy = 4;
panelTambahUser.add(txtPass2,c);
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 0;
c.gridy = 5;
c.ipadx = 80;
panelTambahUser.add(btnTambah,c);
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx =1;
c.gridy = 5;
panelTambahUser.add(btnClear,c);
Container kontainer = getContentPane();
kontainer.setLayout(new FlowLayout());
kontainer.add(panelTambahUser);
isiData();
//Button Action
btnBatal();
btnSimpan();
}
//Function Button
public void btnBatal(){
btnClear.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
setVisible(false);
}
});
}
public void isiData(){
try {
Class.forName(Config.DATABASE_DRIVER).newInstance();
koneksi=DriverManager.getConnection(Config.URL,Config.username,Config.password);
} catch (InstantiationException | IllegalAccessException
| ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
try{
Statement stmt = koneksi.createStatement();
ResultSet rs = stmt.executeQuery("select * from Admin where username = '"+ Masuk.user + "'");
while (rs.next()){
noID.setText(rs.getString(1));
txtUser.setText(rs.getString(4));
oldPass = rs.getString(5);
}
}
catch(SQLException x){
x.printStackTrace();
}
}
public void btnSimpan(){
btnTambah.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
try {
Class.forName(Config.DATABASE_DRIVER).newInstance();
koneksi=DriverManager.getConnection(Config.URL,Config.username,Config.password);
} catch (InstantiationException | IllegalAccessException
| ClassNotFoundException | SQLException z) {
z.printStackTrace();
}
if((txtPass.getText().equals("")) || (txtPass2.getText().equals(""))){
JOptionPane.showMessageDialog(null,
"Field Tidak Boleh Kosong!", "Update Failed!",
JOptionPane.ERROR_MESSAGE);
}
else{
if((oldPass.equals(txtPass.getText())) && (!txtPass2.getText().equals(""))){
try{
Statement stmt = koneksi.createStatement();
ResultSet rs = stmt.executeQuery("update Admin set password = '"+ txtPass2.getText() +"' where username= '"+ txtUser.getText() +"'");
stmt.close();
rs.close();
JOptionPane.showMessageDialog(null,
"Update Berhasil!",
"Update Succes!",
JOptionPane.INFORMATION_MESSAGE);
oldPass = txtPass2.getText();
txtPass.setText("");
txtPass2.setText("");
}
catch(SQLException x){
x.printStackTrace();
}
}
else if((!oldPass.equals(txtPass)) && (!txtPass2.getText().equals("") || (txtPass2.getText().equals("") ))){
JOptionPane.showMessageDialog(null,
"Password Lama Anda Tidak Sama!", "Save Failed!",
JOptionPane.ERROR_MESSAGE);
}
}
}
});
}
}