package tampilan;
import javax.swing.*;
import database.Config;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TambahUser 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 :");
private JLabel lblNama = new JLabel("Nama User : ");
private JTextField txtNama = new JTextField(15);
private JLabel lblAkses = new JLabel("Hak Akses :");
private JTextField txtUser = new JTextField(15);
private JTextField txtPass = new JTextField(15);
String[] akses = { "Administrator", "Kasir" };
private JComboBox cboAkses = new JComboBox(akses);
private JButton btnTambah = new JButton("Simpan");
private JButton btnClear = new JButton("Batal");
private Connection koneksi;
public TambahUser(Utama owner, String title, ModalityType modal) {
super(owner, title, modal);
super.setSize(400, 290);
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"));
cboAkses.setSelectedItem(2);
c.fill = GridBagConstraints.HORIZONTAL;
c.insets = new Insets(10, 10, 10, 10);
c.gridx = 0;
c.gridy = 1;
panelTambahUser.add(lblNama, c);
c.gridx = 1;
c.gridy = 1;
panelTambahUser.add(txtNama, c);
c.gridx = 0;
c.gridy = 2;
panelTambahUser.add(lblUser, c);
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(lblAkses, c);
c.gridx = 1;
c.gridy = 4;
panelTambahUser.add(cboAkses, 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);
// Button Action
btnBatal();
btnSimpan();
}
/*
* public static void main(String[] args) { // TODO Auto-generated method
* stub TambahUser tmbh = new TambahUser("Tambah User");
* tmbh.setVisible(true); }
*/
// Function Button
public void btnBatal() {
btnClear.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
setVisible(false);
}
});
}
public void btnSimpan() {
btnTambah.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// 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 e) {
e.printStackTrace();
}
if ((txtNama.getText().equals(""))
|| (txtPass.getText().equals(""))
|| (txtUser.getText().equals(""))) {
JOptionPane.showMessageDialog(null,
"Semua Field Harus Terisi!", "Add Failed!",
JOptionPane.ERROR_MESSAGE);
}
else {
try {
Statement stmt = koneksi.createStatement();
String username = "";
ResultSet rs = stmt
.executeQuery("select username from Admin where username ='"
+ txtUser.getText() + "'");
while (rs.next()) {
username = rs.getString(1);
}
stmt.close();
rs.close();
if (txtUser.getText().equalsIgnoreCase(username)) {
JOptionPane.showMessageDialog(null,
"Username Telah Terdaftar!", "Add Failed!",
JOptionPane.ERROR_MESSAGE);
}
else {
rs = stmt.executeQuery("insert into Admin values(UNIQUEKEY ('Admin'),'"
+ cboAkses.getSelectedItem().toString()
+ "', '"
+ txtNama.getText()
+ "','"
+ txtUser.getText()
+ "','"
+ txtPass.getText() + "')");
JOptionPane.showMessageDialog(null,
"User Berhasil Ditambahkan!",
"Add Succes!",
JOptionPane.INFORMATION_MESSAGE);
txtNama.grabFocus();
txtNama.setText("");
txtUser.setText("");
txtPass.setText("");
}
}
catch (SQLException x) {
x.printStackTrace();
// JOptionPane.showMessageDialog(null,
// "Username Telah Terdaftar!", "Add Failed!",
// JOptionPane.ERROR_MESSAGE);
}
}
}
});
}
}