Advertisement
Guest User

Management

a guest
Feb 28th, 2019
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 11.16 KB | None | 0 0
  1. import java.awt.BorderLayout;
  2. import java.awt.EventQueue;
  3. import java.sql.Connection;
  4. import java.sql.PreparedStatement;
  5. import java.sql.ResultSet;
  6.  
  7. import javax.swing.JFrame;
  8. import javax.swing.JOptionPane;
  9. import javax.swing.JPanel;
  10. import javax.swing.border.EmptyBorder;
  11.  
  12. import net.proteanit.sql.DbUtils;
  13.  
  14. import javax.swing.JTable;
  15. import javax.swing.JScrollPane;
  16. import javax.swing.JButton;
  17. import javax.swing.JTextField;
  18. import java.awt.Font;
  19. import javax.swing.SwingConstants;
  20. import javax.swing.JRadioButton;
  21. import javax.swing.JComboBox;
  22. import javax.swing.ButtonGroup;
  23. import java.awt.event.ActionListener;
  24. import java.awt.event.ActionEvent;
  25. import javax.swing.DefaultComboBoxModel;
  26. import java.awt.event.MouseAdapter;
  27. import java.awt.event.MouseEvent;
  28. import javax.swing.JLabel;
  29.  
  30. public class Management extends JFrame {
  31.  
  32.     private JPanel contentPane;
  33.     private JTable dataTable;
  34.     Connection conn=null;
  35.     PreparedStatement pst =null;
  36.     ResultSet rs=null;
  37.     private JTextField nameTF;
  38.     private JTextField emailTF;
  39.     private JTextField usernameTF;
  40.     private JTextField passField;
  41.     private JTextField ageTF;
  42.     private JTextField heightTF;
  43.     private JComboBox addressCB;
  44.     private JButton btnAdd;
  45.     private JButton btnUpdate;
  46.     private JButton btnDelete;
  47.    
  48.     private JTextField contactTF;
  49.     private JRadioButton rdbtnFemale,rdbtnMale;
  50.     private String v="";
  51.     private String combo="";
  52.     private int E_ID =0;
  53.     private final ButtonGroup buttonGroup = new ButtonGroup();
  54.     /**
  55.      * Launch the application.
  56.      */
  57.     public static void main(String[] args) {
  58.         EventQueue.invokeLater(new Runnable() {
  59.             public void run() {
  60.                 try {
  61.                     Management frame = new Management();
  62.                     frame.setVisible(true);
  63.                 } catch (Exception e) {
  64.                     e.printStackTrace();
  65.                 }
  66.             }
  67.         });
  68.     }
  69.  
  70.     /**
  71.      * Create the frame.
  72.      */
  73.     public Management() {
  74.         setTitle("Management");
  75.         design();
  76.         conn =SQLConnection.ConnecrDb();
  77.         loadTable();
  78.     }
  79.     private void loadTable() {
  80.         try {
  81.             String query ="Select E_ID, E_Name,E_Mail,E_Username,E_Age,E_Contact,E_Gender,E_Height,E_Adress FROM Employee";
  82.             pst=conn.prepareStatement(query);
  83.             rs=pst.executeQuery();
  84.             dataTable.setModel(DbUtils.resultSetToTableModel(rs));
  85.             pst.close();
  86.             rs.close();
  87.            
  88.         }
  89.         catch(Exception e) {
  90.             e.printStackTrace();
  91.         }
  92.     }
  93.    
  94.     private void addData () {
  95.         try {
  96.             String query ="INSERT INTO Employee (E_Name,E_Mail,E_Username,E_Password,E_Age,E_Contact,E_Gender,E_Height,E_Adress) VALUE(?,?,?,?,?,?,?,?,?)";
  97.                    
  98.             pst =conn.prepareStatement(query);
  99.             pst.setString(1, nameTF.getText());
  100.             pst.setString(2, emailTF.getText());
  101.            
  102.             pst.setString(3, usernameTF.getText());
  103.             pst.setString(4, passField.getText());
  104.             pst.setString(5, ageTF.getText());
  105.             pst.setString(6, contactTF.getText());
  106.             if(rdbtnMale.isSelected()) {
  107.                  v =rdbtnMale.getText().toString();
  108.             }else if(rdbtnFemale.isSelected()) {
  109.                  v=rdbtnFemale.getText().toString();
  110.             }else {
  111.                 JOptionPane.showMessageDialog(null, "Select Gender");
  112.             }
  113.            
  114.             pst.setString(7, String.valueOf(v) );
  115.             pst.setString(8, heightTF.getText());
  116.             pst.setString(9, addressCB.getSelectedItem().toString());
  117.             pst.execute();
  118.             pst.close();
  119.             JOptionPane.showMessageDialog(null, "New Info Added");
  120.             loadTable();
  121.         }
  122.         catch(Exception e){
  123.             e.printStackTrace();
  124.         }
  125.        
  126.     }
  127.    
  128.     private void loadToField() {
  129.         try {
  130.             int row= dataTable.getSelectedRow();
  131.             String ID=(dataTable.getModel().getValueAt(row, 0)).toString();
  132.             String query ="Select * FROM Employee WHERE E_ID= '" +ID+ "'";
  133.             pst =conn.prepareStatement(query);
  134.             rs = pst.executeQuery();
  135.             while(rs.next())
  136.             {
  137.                 E_ID =rs.getInt("E_ID");
  138.                
  139.                 nameTF.setText(rs.getString("E_Name"));
  140.                 emailTF.setText(rs.getString("E_Mail"));
  141.             usernameTF.setText(rs.getString("E_Username"));
  142.                 passField.setText(rs.getString("E_Password"));
  143.                 ageTF.setText(rs.getString("E_Age"));
  144.                 contactTF.setText(rs.getString("E_Contact"));
  145.                 v=rs.getString("E_Gender");
  146.                 if(v.equals("Male")) {
  147.                     rdbtnMale.setSelected(true);
  148.                     rdbtnFemale.setSelected(false);
  149.                 }else if(v.equals("Female"))
  150.                 {
  151.                     rdbtnFemale.setSelected(true);
  152.                     rdbtnMale.setSelected(false);
  153.                 }else {
  154.                     System.out.println("");
  155.                 }
  156.                 heightTF.setText(rs.getString("E_Height"));
  157.                
  158.                 combo = rs.getString("E_Adress");
  159.                
  160.                 if(combo.equals("Dhaka")) {
  161.                     addressCB.setSelectedItem("Dhaka");
  162.                 }else if(combo.equals("Rajshahi"))
  163.                 {
  164.                     addressCB.setSelectedItem("Rajshahi");
  165.                 }
  166.                 else if(combo.equals("Barishal"))
  167.                 {
  168.                     addressCB.setSelectedItem("Barishal");
  169.                 }else if(combo.equals("Sylhet"))
  170.                 {
  171.                     addressCB.setSelectedItem("Sylhet");
  172.                 }else {
  173.                     System.out.println("");
  174.                 }
  175.                
  176.                
  177.                                
  178.                
  179.             }
  180.             pst.close();
  181.             rs.close();
  182.            
  183.         }
  184.         catch(Exception e) {
  185.             e.printStackTrace();
  186.         }
  187.     }
  188.    
  189.     private void updateData() {
  190.         try {
  191.             String query ="UPDATE Employee SET E_Name = '"+nameTF.getText() +"',E_Mail='"+emailTF.getText()+
  192.                     "',E_Username= '"+usernameTF.getText()+"',E_Password ='"+passField.getText()+
  193.                     "',E_Age ='"+ageTF.getText()+"',E_Contact ='"+contactTF.getText()+
  194.                     "',E_Gender ='"+v+"',E_Height ='"+heightTF.getText()+"',E_Adress ='"+ addressCB.getSelectedItem().toString()+"'WHERE E_ID ='"+E_ID+"'";
  195.  
  196.            
  197.                 pst = conn.prepareStatement(query);
  198.                 pst.execute();
  199.                
  200.             JOptionPane.showMessageDialog(null, "Data updated Successfully");
  201.             pst.close();
  202.             loadTable();
  203.         }
  204.         catch(Exception e){
  205.             e.printStackTrace();
  206.            
  207.         }
  208.     }
  209.     private void deleteData() {
  210.         try {
  211.            
  212.             int action =JOptionPane.showConfirmDialog(null, "Are You Sure To Delete?","Delete",JOptionPane.YES_NO_CANCEL_OPTION);
  213.             if (action ==0) {
  214.                 String query ="DELETE FROM Employee WHERE E_ID ='"+ E_ID + "'";
  215.                 pst = conn.prepareStatement(query);
  216.                 pst.execute();
  217.                 JOptionPane.showMessageDialog(null, "Data Deleted Successfully");
  218.                 pst.close();
  219.                 loadTable();
  220.             }
  221.         }catch(Exception e) {
  222.             e.printStackTrace();
  223.            
  224.         }
  225.     }
  226.    
  227.     private void design()
  228.     {
  229.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  230.         setBounds(100, 100, 827, 746);
  231.         contentPane = new JPanel();
  232.         contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  233.         setContentPane(contentPane);
  234.         contentPane.setLayout(null);
  235.        
  236.         JScrollPane scrollPane = new JScrollPane();
  237.         scrollPane.setBounds(10, 11, 782, 152);
  238.         contentPane.add(scrollPane);
  239.        
  240.         dataTable = new JTable();
  241.         dataTable.addMouseListener(new MouseAdapter() {
  242.             @Override
  243.             public void mouseClicked(MouseEvent e) {
  244.                 loadToField();
  245.             }
  246.            
  247.         });
  248.         scrollPane.setViewportView(dataTable);
  249.        
  250.         nameTF = new JTextField();
  251.         nameTF.setHorizontalAlignment(SwingConstants.CENTER);
  252.         nameTF.setFont(new Font("Tahoma", Font.PLAIN, 13));
  253.         nameTF.setColumns(10);
  254.         nameTF.setBounds(116, 174, 369, 28);
  255.         contentPane.add(nameTF);
  256.        
  257.         emailTF = new JTextField();
  258.         emailTF.setHorizontalAlignment(SwingConstants.CENTER);
  259.         emailTF.setFont(new Font("Tahoma", Font.PLAIN, 13));
  260.         emailTF.setColumns(10);
  261.         emailTF.setBounds(116, 213, 369, 28);
  262.         contentPane.add(emailTF);
  263.        
  264.         usernameTF = new JTextField();
  265.         usernameTF.setHorizontalAlignment(SwingConstants.CENTER);
  266.         usernameTF.setFont(new Font("Tahoma", Font.PLAIN, 13));
  267.         usernameTF.setColumns(10);
  268.         usernameTF.setBounds(116, 252, 369, 28);
  269.         contentPane.add(usernameTF);
  270.        
  271.         passField = new JTextField();
  272.         passField.setHorizontalAlignment(SwingConstants.CENTER);
  273.         passField.setFont(new Font("Tahoma", Font.PLAIN, 13));
  274.         passField.setColumns(10);
  275.         passField.setBounds(116, 292, 369, 28);
  276.         contentPane.add(passField);
  277.        
  278.         ageTF = new JTextField();
  279.         ageTF.setHorizontalAlignment(SwingConstants.CENTER);
  280.         ageTF.setFont(new Font("Tahoma", Font.PLAIN, 13));
  281.         ageTF.setColumns(10);
  282.         ageTF.setBounds(116, 331, 204, 23);
  283.         contentPane.add(ageTF);
  284.        
  285.         heightTF = new JTextField();
  286.         heightTF.setHorizontalAlignment(SwingConstants.CENTER);
  287.         heightTF.setFont(new Font("Tahoma", Font.PLAIN, 13));
  288.         heightTF.setColumns(10);
  289.         heightTF.setBounds(116, 445, 215, 28);
  290.         contentPane.add(heightTF);
  291.        
  292.         rdbtnMale = new JRadioButton("Male");
  293.         buttonGroup.add(rdbtnMale);
  294.         rdbtnMale.setBounds(119, 415, 109, 23);
  295.         contentPane.add(rdbtnMale);
  296.        
  297.         rdbtnFemale  = new JRadioButton("Female");
  298.         buttonGroup.add(rdbtnFemale);
  299.         rdbtnFemale.setBounds(259, 411, 109, 23);
  300.         contentPane.add(rdbtnFemale);
  301.        
  302.         contactTF = new JTextField();
  303.         contactTF.setHorizontalAlignment(SwingConstants.CENTER);
  304.         contactTF.setFont(new Font("Tahoma", Font.PLAIN, 13));
  305.         contactTF.setColumns(10);
  306.         contactTF.setBounds(116, 365, 249, 28);
  307.         contentPane.add(contactTF);
  308.        
  309.         addressCB = new JComboBox();
  310.         addressCB.setModel(new DefaultComboBoxModel(new String[] {"Dhaka", "Rajshahi", "Sylhet", "Barishal"}));
  311.         addressCB.setBounds(116, 484, 221, 28);
  312.         contentPane.add(addressCB);
  313.          
  314.          btnAdd = new JButton("Add");
  315.         btnAdd.addActionListener(new ActionListener() {
  316.             public void actionPerformed(ActionEvent e) {
  317.         addData();
  318.             }
  319.         });
  320.         btnAdd.setBounds(51, 562, 98, 33);
  321.     getContentPane().add(btnAdd);
  322.        
  323.          btnUpdate = new JButton("Update");
  324.          btnUpdate.addActionListener(new ActionListener() {
  325.             public void actionPerformed(ActionEvent e) {
  326.                 updateData();
  327.             }
  328.          });
  329.         btnUpdate.setBounds(162, 562, 98, 33);
  330.         contentPane.add(btnUpdate);
  331.        
  332.      btnDelete = new JButton("Delete");
  333.      btnDelete.addActionListener(new ActionListener() {
  334.         public void actionPerformed(ActionEvent e) {
  335.             deleteData();
  336.         }
  337.      });
  338.         btnDelete.setBounds(289, 562, 98, 33);
  339.         contentPane.add(btnDelete);
  340.        
  341.         JLabel lblNewLabel = new JLabel("Name");
  342.         lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 14));
  343.         lblNewLabel.setBounds(33, 174, 61, 28);
  344.         contentPane.add(lblNewLabel);
  345.        
  346.         JLabel lblEmail = new JLabel("Email");
  347.         lblEmail.setFont(new Font("Tahoma", Font.BOLD, 14));
  348.         lblEmail.setBounds(33, 213, 61, 28);
  349.         contentPane.add(lblEmail);
  350.        
  351.         JLabel lblUsername = new JLabel("Username");
  352.         lblUsername.setFont(new Font("Tahoma", Font.BOLD, 14));
  353.         lblUsername.setBounds(33, 252, 73, 28);
  354.         contentPane.add(lblUsername);
  355.        
  356.         JLabel lblPassword = new JLabel("Password");
  357.         lblPassword.setFont(new Font("Tahoma", Font.BOLD, 14));
  358.         lblPassword.setBounds(33, 292, 73, 28);
  359.         contentPane.add(lblPassword);
  360.        
  361.         JLabel lblAge = new JLabel("Age");
  362.         lblAge.setFont(new Font("Tahoma", Font.BOLD, 14));
  363.         lblAge.setBounds(33, 327, 61, 28);
  364.         contentPane.add(lblAge);
  365.        
  366.         JLabel lblContact = new JLabel("Contact");
  367.         lblContact.setFont(new Font("Tahoma", Font.BOLD, 14));
  368.         lblContact.setBounds(33, 364, 61, 28);
  369.         contentPane.add(lblContact);
  370.        
  371.         JLabel lblGender = new JLabel("Gender");
  372.         lblGender.setFont(new Font("Tahoma", Font.BOLD, 14));
  373.         lblGender.setBounds(33, 410, 61, 28);
  374.         contentPane.add(lblGender);
  375.        
  376.         JLabel lblHeight = new JLabel("Height");
  377.         lblHeight.setFont(new Font("Tahoma", Font.BOLD, 14));
  378.         lblHeight.setBounds(33, 445, 61, 28);
  379.         contentPane.add(lblHeight);
  380.        
  381.         JLabel lblAddress = new JLabel("Address");
  382.         lblAddress.setFont(new Font("Tahoma", Font.BOLD, 14));
  383.         lblAddress.setBounds(33, 484, 61, 28);
  384.         contentPane.add(lblAddress);
  385.     }
  386. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement