Advertisement
Zuhairy_Harry

Untitled

Jun 23rd, 2022
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.79 KB | None | 0 0
  1. import java.awt.*;
  2. import javax.swing.*;
  3. import java.awt.event.*;
  4. import javax.swing.event.*;
  5. import java.sql.*;
  6.  
  7. public class Exercise2 extends JFrame implements ActionListener
  8. {
  9.     JPanel panMain, panTopic, panName, panMatrix, panClass;
  10.     JPanel panSpace, panSpace2, panSpace3;
  11.     JPanel panAction, panAction1, panAction2;
  12.     JPanel panView;
  13.     JLabel lblName, lblMatrix, lblTopic, lblClass;
  14.     JLabel lblSpace, lblSpace2, lblSpace3;
  15.     JTextField txtName, txtMatrix;
  16.     JTextArea txtView;
  17.     JComboBox cbClass;
  18.     JButton btnSubmit, btnUpdate, btnView, btnDelete;
  19.    
  20.     Connection con;
  21.     Statement stmt;
  22.     ResultSet rs;
  23.     String output;
  24.    
  25.     public void connectDB() throws Exception
  26.     {
  27.         Class.forName("com.mysql.cj.jdbc.Driver");
  28.         String path = "jdbc:mysql://localhost/student2?useTimezone=true&serverTimezone=UTC";
  29.         con = DriverManager.getConnection(path, "root", "abcDEF123");
  30.         System.out.println("Database connected");
  31.        
  32.         stmt = con.createStatement();
  33.         String sql = "CREATE TABLE STUDENT" + "(name VARCHAR(50), matrix VARCHAR(50), class VARCHAR(50))";
  34.         stmt.executeUpdate(sql);
  35.         System.out.println("Table created");
  36.     }
  37.    
  38.     public Exercise2()
  39.     {
  40.         super("Exercise 2");
  41.        
  42.         try{
  43.             connectDB();
  44.         }
  45.         catch(Exception e){
  46.             JOptionPane.showMessageDialog(null,"Database not connected");
  47.         }
  48.        
  49.         panTopic = new JPanel();
  50.         panTopic.setLayout(new FlowLayout(FlowLayout.CENTER));
  51.        
  52.         lblTopic = new JLabel("STUDENT REGISTRATION");
  53.         lblTopic.setFont(new Font("Arial",Font.BOLD, 24));
  54.         panTopic.add(lblTopic);
  55.        
  56.         panName = new JPanel();
  57.         panName.setLayout(new FlowLayout(FlowLayout.LEFT));
  58.        
  59.         lblName = new JLabel("Name");
  60.         lblName.setFont(new Font("Arial",Font.BOLD,12));
  61.         panName.add(lblName);
  62.        
  63.         txtName = new JTextField(20);
  64.         txtName.setFont(new Font("Arial",Font.BOLD,12));
  65.         panName.add(txtName);
  66.        
  67.         panMatrix = new JPanel();
  68.         panMatrix.setLayout(new FlowLayout(FlowLayout.LEFT));
  69.        
  70.         lblMatrix = new JLabel("Matrix");
  71.         lblMatrix.setFont(new Font("Arial",Font.BOLD,12));
  72.         panMatrix.add(lblMatrix);
  73.        
  74.         txtMatrix = new JTextField(20);
  75.         txtMatrix.setFont(new Font("Arial",Font.BOLD,12));
  76.         panMatrix.add(txtMatrix);
  77.        
  78.         panClass = new JPanel();
  79.         panClass.setLayout(new FlowLayout(FlowLayout.LEFT));
  80.        
  81.         lblClass = new JLabel("Class");
  82.         lblClass.setFont(new Font("Arial",Font.BOLD,12));
  83.         panClass.add(lblClass);
  84.        
  85.         String classList[] = {"DDTP5", "DDTS5", "DDTN5"};
  86.         cbClass = new JComboBox(classList);
  87.         cbClass.setFont(new Font("Arial", Font.BOLD, 12));
  88.         panClass.add(cbClass);
  89.        
  90.         panAction = new JPanel();
  91.         panAction.setLayout(new BoxLayout(panAction, BoxLayout.Y_AXIS));
  92.        
  93.         panAction1 = new JPanel();
  94.         panAction1.setLayout(new FlowLayout(FlowLayout.CENTER));
  95.        
  96.         panAction2 = new JPanel();
  97.         panAction2.setLayout(new FlowLayout(FlowLayout.CENTER));
  98.        
  99.        
  100.         btnSubmit = new JButton("SUBMIT");
  101.         btnSubmit.setFont(new Font("Arial",Font.BOLD,12));
  102.         panAction1.add(btnSubmit);
  103.        
  104.         btnUpdate = new JButton("UPDATE");
  105.         btnUpdate.setFont(new Font("Arial",Font.BOLD,12));
  106.         panAction1.add(btnUpdate);
  107.        
  108.         btnView = new JButton("VIEW");
  109.         btnView.setFont(new Font("Arial",Font.BOLD,12));
  110.         panAction2.add(btnView);
  111.        
  112.         btnDelete = new JButton("DELETE");
  113.         btnDelete.setFont(new Font("Arial",Font.BOLD,12));
  114.         panAction2.add(btnDelete);
  115.        
  116.         btnSubmit.addActionListener(this);
  117.         btnUpdate.addActionListener(this);
  118.         btnView.addActionListener(this);
  119.         btnDelete.addActionListener(this);
  120.        
  121.         panAction.add(panAction1);
  122.         panAction.add(panAction2);
  123.        
  124.         txtView = new JTextArea(10,50);
  125.         txtView.setFont(new Font("Arial",Font.BOLD,12));
  126.        
  127.         panView = new JPanel();
  128.         panView.setLayout(new FlowLayout(FlowLayout.CENTER));
  129.         panView.add(txtView);
  130.        
  131.        
  132.         panSpace = new JPanel();
  133.         panSpace.setLayout(new FlowLayout(FlowLayout.CENTER));
  134.        
  135.         lblSpace = new JLabel("\t");
  136.         lblSpace.setFont(new Font("Arial",Font.BOLD, 20));
  137.         panSpace.add(lblSpace);
  138.        
  139.         panSpace2 = new JPanel();
  140.         panSpace2.setLayout(new FlowLayout(FlowLayout.CENTER));
  141.        
  142.         lblSpace2 = new JLabel("\t");
  143.         lblSpace2.setFont(new Font("Arial",Font.BOLD, 20));
  144.         panSpace2.add(lblSpace2);
  145.        
  146.        
  147.         panMain = new JPanel();
  148.         panMain.setLayout(new BoxLayout(panMain, BoxLayout.Y_AXIS));
  149.         panMain.add(panTopic);
  150.         panMain.add(panSpace);
  151.         panMain.add(panName);
  152.         panMain.add(panMatrix);
  153.         panMain.add(panClass);
  154.         panMain.add(panSpace2);
  155.         panMain.add(panAction);
  156.         panMain.add(panView);
  157.         panTopic.setBackground(Color.YELLOW);
  158.         panSpace.setBackground(Color.YELLOW);
  159.         panName.setBackground(Color.YELLOW);
  160.         panMatrix.setBackground(Color.YELLOW);
  161.         panClass.setBackground(Color.YELLOW);
  162.         panSpace2.setBackground(Color.YELLOW);
  163.         panAction.setBackground(Color.YELLOW);
  164.         panAction1.setBackground(Color.YELLOW);
  165.         panAction2.setBackground(Color.YELLOW);
  166.         panView.setBackground(Color.YELLOW);
  167.         panMain.setBackground(Color.YELLOW);
  168.         add(panMain);
  169.        
  170.         getContentPane().setBackground(Color.YELLOW);
  171.         setLayout(new FlowLayout());
  172.         setSize(700,700);
  173.         setVisible(true);
  174.         setLocationRelativeTo(null);
  175.     }
  176.    
  177.     public static void main(String[]args)
  178.     {
  179.         new Exercise2().setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  180.     }
  181.    
  182.     public void insertData() throws Exception
  183.     {
  184.         String name = txtName.getText();
  185.         String matrix = txtMatrix.getText();
  186.         Object classList = cbClass.getSelectedItem();
  187.        
  188.         stmt = con.createStatement();
  189.         String sql = "INSERT INTO STUDENT VALUES" + "('"+name+"', '"+matrix+"', '"+classList+"')";
  190.         stmt.executeUpdate(sql);
  191.         JOptionPane.showMessageDialog(null,"Data successfully inserted!");
  192.        
  193.     }
  194.    
  195.     public void viewData() throws Exception
  196.     {
  197.         stmt = con.createStatement();
  198.         String sql = "SELECT * FROM STUDENT";
  199.         rs = stmt.executeQuery(sql);
  200.         output = "Name\t Matrix\t Class\n";
  201.         while(rs.next())
  202.         {
  203.             output = output + rs.getString("name") + "\t" + rs.getString("matrix") + "\t" + rs.getString("class") + "\n";
  204.         }
  205.        
  206.     }
  207.    
  208.    
  209.     public void actionPerformed(ActionEvent ae)
  210.     {
  211.         if(ae.getSource()==btnSubmit)
  212.         {
  213.             String name = txtName.getText();
  214.             String matrix = txtMatrix.getText();
  215.             Object classList = cbClass.getSelectedItem();
  216.            
  217.             if(name=="" || matrix=="" || classList=="")
  218.             {
  219.                 JOptionPane.showMessageDialog(null,"Please complete the details!");
  220.             }
  221.             else
  222.             {
  223.                 try{
  224.                     insertData();
  225.                 }
  226.                 catch(Exception e){
  227.                     JOptionPane.showMessageDialog(null,"Error");
  228.                 }
  229.  
  230.             }
  231.         }
  232.        
  233.         else if(ae.getSource()==btnUpdate)
  234.         {
  235.             JOptionPane.showMessageDialog(null,"Update");
  236.         }
  237.        
  238.         else if(ae.getSource()==btnView)
  239.         {
  240.             try{
  241.                 viewData();
  242.                 txtView.setText(output);
  243.             }
  244.             catch(Exception e){
  245.                 JOptionPane.showMessageDialog(null,"No data!");
  246.             }
  247.         }
  248.        
  249.         else if(ae.getSource()==btnDelete)
  250.         {
  251.             JOptionPane.showMessageDialog(null,"Delete");
  252.         }
  253.     }
  254. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement