Guest User

remiu2203

a guest
Sep 29th, 2015
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 15.66 KB | None | 0 0
  1. //================================scroll down untill you see "Troubled block of code"============================================
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import java.sql.*;
  5. import java.lang.*;
  6. import javax.swing.*;
  7. import javax.swing.event.ListSelectionEvent;
  8. import javax.swing.event.ListSelectionListener;
  9.  
  10. public class Act_cubz extends JFrame implements ActionListener, ItemListener, ListSelectionListener{
  11.  
  12. //Labels
  13. JLabel lblID        = new JLabel("ID no: ", JLabel.LEFT);
  14. JLabel lblFname = new JLabel("First Name: ", JLabel.LEFT);
  15. JLabel lblMname = new JLabel("Middle Name: ", JLabel.LEFT);
  16. JLabel lblLname = new JLabel("Last Name: ", JLabel.LEFT);
  17. JLabel lblAge       = new JLabel("Age: ", JLabel.LEFT);
  18. JLabel lblGender    = new JLabel("Gender: ", JLabel.LEFT);
  19. JLabel lblStatus    = new JLabel("Status: ", JLabel.LEFT); 
  20. JLabel lblCity  = new JLabel("City: ", JLabel.LEFT);   
  21. JLabel lblReq       = new JLabel("Requirements: ", JLabel.LEFT);
  22.  
  23. //Text Fields
  24. JTextField txtID        = new JTextField(20);
  25. JTextField txtFname     = new JTextField(20);
  26. JTextField txtMname     = new JTextField(20);
  27. JTextField txtLname     = new JTextField(20);
  28. JTextField txtAge       = new JTextField(20);
  29. JTextField txtGender    = new JTextField(20);
  30. JTextField txtStatus    = new JTextField(20);
  31. JTextField txtCity      = new JTextField(20);
  32. JTextField txtReq       = new JTextField(20);
  33.  
  34. //Buttons
  35. JButton btnNew = new JButton("New");
  36. JButton btnSave = new JButton("Save");
  37. JButton btnUpdate = new JButton("Update");
  38. JButton btnDel = new JButton("Delete");
  39. JButton btnSearch = new JButton("Search");
  40. JButton btnCancel = new JButton("Cancel");
  41.  
  42. //gender
  43.  
  44. JRadioButton male = new JRadioButton("Male");
  45. JRadioButton fmale = new JRadioButton("Female");
  46.  
  47.  
  48. //requirements
  49.  
  50. JCheckBox Diploma = new JCheckBox("Diploma");
  51. JCheckBox Form137 = new JCheckBox("Form 137");
  52. JCheckBox Record = new JCheckBox("Transcript of Records");
  53. JCheckBox Birth = new JCheckBox("Birth Certificate");
  54.  
  55. //SQL
  56. Connection cn;
  57. Statement st;
  58. PreparedStatement ps;
  59.  
  60.  
  61. //holders
  62. JTextField genHolder = new JTextField();
  63. JTextField staHolder = new JTextField();
  64.  
  65.  
  66. //for the City list
  67. String [] listCity = {"Surigao City","Davao City","Cebu City","Ormoc City","Cagayan De Oro City",};
  68. JList list= new JList(listCity);
  69.  
  70.  
  71. //combo box status
  72. String [] listSta = {"Single", "Married","Devorced"};
  73. JComboBox cblist = new JComboBox(listSta);
  74.  
  75.  
  76.    
  77.     //consttructor
  78.     public static void main(String args[]){
  79.         Act_cubz panel = new Act_cubz();
  80.         panel.setSize(600,600);
  81.         panel.setVisible(true);
  82.         panel.setLocation(350,200);
  83.         panel.setResizable(false);
  84.        
  85.     }
  86.  
  87.  
  88.     public void clear(){
  89.     txtID.setText("");   
  90.     txtFname.setText("");      
  91.     txtMname.setText("");      
  92.     txtLname.setText("");      
  93.     txtAge.setText("");        
  94.     txtGender.setText("");       
  95.     txtStatus.setText("");     
  96.     txtCity.setText("");       
  97.     txtReq.setText("");        
  98.     }
  99.  
  100.     public void enableAll(){
  101.                 btnNew.setEnabled(true);
  102.                 btnSave.setEnabled(true);
  103.                 btnUpdate.setEnabled(true);
  104.                 btnDel.setEnabled(true);
  105.                 btnSearch.setEnabled(true);
  106.                 btnCancel.setEnabled(true);
  107.                
  108.                 Diploma.setEnabled(true);
  109.                 Form137.setEnabled(true);
  110.                 Record.setEnabled(true);
  111.                 Birth.setEnabled(true);
  112.                
  113.                 txtID.setEnabled(true);
  114.                 txtFname.setEnabled(true);
  115.                 txtMname.setEnabled(true);
  116.                 txtLname.setEnabled(true);
  117.                 txtAge.setEnabled(true);
  118.                
  119.                 male.setEnabled(true);
  120.                 fmale.setEnabled(true);
  121.                 cblist.setEnabled(true);
  122.     }  
  123.    
  124.    
  125.     public Act_cubz() {
  126.         super("Student Information System");
  127.         JPanel pane = new JPanel();
  128.         pane.setLayout(null);
  129.         setContentPane(pane);
  130.         pane.setBackground(Color.WHITE);
  131.        
  132. //==================SQL stuff===========================================================
  133.         try{
  134.             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  135.             cn = DriverManager.getConnection("jdbc:odbc:Cubz");
  136.         }catch(ClassNotFoundException e)  {
  137.             System.err.println("Failed to load driver");
  138.             e.printStackTrace();
  139.         }
  140.         catch(SQLException e){
  141.             System.err.println("Unable to connect");
  142.             e.printStackTrace();
  143.         }      
  144.  
  145. //==================LABELS/TXTFIELDS==================LABELS/TXTFIELDS==================LABELS/TXTFIELDS==================LABELS/TXTFIELDS  
  146.     //ID
  147.         pane.add(lblID);
  148.        
  149.         lblID.setForeground(Color.BLACK);
  150.        
  151.         pane.add(txtID);
  152.         txtID.setBounds(90,50,150,25);
  153.         lblID.setBounds(5,50,80,25);
  154.         txtID.setEnabled(false);
  155.        
  156.    
  157.     //Fname
  158.        
  159.         pane.add(lblFname);
  160.         lblFname.setForeground(Color.BLACK);
  161.        
  162.         pane.add(txtFname);
  163.         txtFname.setBounds(90,80,150,25);
  164.         lblFname.setBounds(5,80,80,25);
  165.         txtFname.setEnabled(false);
  166.        
  167.    
  168.     //Mname
  169.    
  170.         pane.add(lblMname);
  171.         lblMname.setForeground(Color.BLACK);
  172.        
  173.         pane.add(txtMname);
  174.         txtMname.setBounds(90,110,150,25);
  175.         lblMname.setBounds(5,110,80,25);
  176.         txtMname.setEnabled(false);
  177.    
  178.     //Lname
  179.    
  180.         pane.add(lblLname);
  181.         lblLname.setForeground(Color.BLACK);
  182.        
  183.         pane.add(txtLname);
  184.         txtLname.setBounds(90,140,150,25);
  185.         lblLname.setBounds(5,140,80,25);
  186.         txtLname.setEnabled(false);
  187.        
  188.     //Age
  189.    
  190.         pane.add(lblAge);
  191.         lblAge.setForeground(Color.BLACK);
  192.        
  193.         pane.add(txtAge);
  194.         txtAge.setBounds(90,170,150,25);
  195.         lblAge.setBounds(5,170,80,25); 
  196.         txtAge.setEnabled(false);
  197.     //Gender
  198.    
  199.    
  200.         pane.add(lblGender);
  201.         lblGender.setForeground(Color.BLACK);
  202.         lblGender.setBounds(5,200,80,25);
  203.        
  204.         pane.add(male);
  205.         male.setBounds(90,200,80,25);
  206.        
  207.         pane.add(fmale);
  208.         fmale.setBounds(180,200,80,25);
  209.        
  210.         ButtonGroup gen = new ButtonGroup();
  211.         gen.add(male);
  212.         gen.add(fmale);
  213.         male.setEnabled(false);
  214.         fmale.setEnabled(false);
  215.        
  216.         male.addItemListener(this);
  217.         fmale.addItemListener(this);
  218.        
  219.        
  220.     //Status (ComboBox)
  221.    
  222.         pane.add(lblStatus);
  223.         lblStatus.setForeground(Color.BLACK);
  224.         lblStatus.setBounds(5,230,80,25);
  225.        
  226.         pane.add(cblist);
  227.         cblist.setBounds(90,230,100,25);
  228.         cblist.setEnabled(false);
  229.        
  230.         cblist.addActionListener(new ActionListener(){
  231.            
  232.             public void actionPerformed(ActionEvent e){
  233.                
  234.                 staHolder.setText(listSta[cblist.getSelectedIndex()]);
  235.                
  236.             }
  237.         });
  238.    
  239.     //City (JList with txtfield)
  240.        
  241.         pane.add(lblCity);
  242.         lblCity.setForeground(Color.BLACK);
  243.         lblCity.setBounds(5,260,80,25);
  244.        
  245.         pane.add(list);
  246.         list.setSelectedIndex(0);
  247.         list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
  248.         list.setBackground(Color.BLACK);
  249.         list.setForeground(Color.WHITE);
  250.         list.setBounds(90,260,150,100);
  251.         list.setEnabled(false);
  252.         pane.add(txtCity);
  253.         txtCity.setBounds(90,380,150,25);
  254.    
  255.     //================================TROUBLED BLOCK OF CODE============================================
  256.        
  257.         list.addListSelectionListener(new ListSelectionListener(){
  258.             public void valueChanged(ListSelectionEvent er){
  259.                 txtCity.setText(listCity[listCity.getSelectedIndex]);
  260.             }
  261.         });
  262.    //================================TROUBLED BLOCK OF CODE============================================
  263.        
  264.    
  265.     //Requirements (to be added : CHECK BOX)
  266.    
  267.         pane.add(lblReq);
  268.         lblReq.setBounds(320,50,150,25);
  269.        
  270.         pane.add(Diploma);
  271.         Diploma.setBounds(400,100,150,25);
  272.        
  273.         pane.add(Form137);
  274.         Form137.setBounds(400,150,150,25);
  275.         pane.add(Record);
  276.         Record.setBounds(400,200,150,25);
  277.         pane.add(Birth);   
  278.         Birth.setBounds(400,250,150,25);
  279.        
  280.         Diploma.setEnabled(false);
  281.         Form137.setEnabled(false);
  282.         Record.setEnabled(false);
  283.         Birth.setEnabled(false);
  284.    
  285.        
  286. //==================BUTTONS==================BUTTONS==================BUTTONS==================BUTTONS==================BUTTONS
  287.     //New
  288.         pane.add(btnNew);
  289.         btnNew.setBounds(5,500,80,30);
  290.         btnNew.addActionListener(this);
  291.     //Save
  292.         pane.add(btnSave);
  293.         btnSave.setBounds(100,500,80,30);
  294.         btnSave.addActionListener(this);
  295.         btnSave.setEnabled(false);
  296.    
  297.     //Update
  298.         pane.add(btnUpdate);
  299.         btnUpdate.setBounds(200,500,80,30);
  300.         btnUpdate.addActionListener(this);
  301.         btnUpdate.setEnabled(false);
  302.    
  303.     //Del
  304.         pane.add(btnDel);
  305.         btnDel.setBounds(300,500,80,30);
  306.         btnDel.addActionListener(this);
  307.         btnDel.setEnabled(false);
  308.    
  309.     //Search
  310.         pane.add(btnSearch);
  311.         btnSearch.setBounds(400,500,80,30);
  312.         btnSearch.addActionListener(this);
  313.    
  314.     //Cancel
  315.         pane.add(btnCancel);
  316.         btnCancel.setBounds(500,500,80,30);
  317.         btnCancel.addActionListener(this);
  318.         btnCancel.setEnabled(false);
  319.    
  320.    
  321.     }
  322.    
  323.    
  324.    
  325.    
  326.    
  327.    
  328.     //action listenenr (buttons)
  329.     public void actionPerformed(ActionEvent e){
  330.         Object source = e.getSource();
  331.            
  332.            
  333.             if(source == btnNew){   //BUTTON NEW
  334.                 btnSave.setEnabled(true);
  335.                 btnUpdate.setEnabled(true);
  336.                 btnDel.setEnabled(true);
  337.                 btnCancel.setEnabled(true);
  338.                
  339.                
  340.                 Diploma.setEnabled(true);
  341.                 Form137.setEnabled(true);
  342.                 Record.setEnabled(true);
  343.                 Birth.setEnabled(true);
  344.                
  345.                 txtID.setEnabled(true);
  346.                 txtFname.setEnabled(true);
  347.                 txtMname.setEnabled(true);
  348.                 txtLname.setEnabled(true);
  349.                 txtAge.setEnabled(true);
  350.                
  351.                 male.setEnabled(true);
  352.                 fmale.setEnabled(true);
  353.                 cblist.setEnabled(true);
  354.             }
  355.            
  356.            
  357.             if(source == btnSave){  //SAVE 
  358.                
  359.                 try{
  360.                    
  361.                         String ID=txtID.getText();
  362.                         String fname=txtFname.getText();
  363.                         String mname=txtMname.getText();
  364.                         String lname=txtLname.getText();
  365.                         String age  =txtAge.getText();
  366.                         String gender=genHolder.getText();
  367.                         String status =staHolder.getText();
  368.                        
  369.                        
  370.                            
  371.                     if (!ID.equals("") && !fname.equals("") && !mname.equals("") && !lname.equals("") && !age.equals("")) {
  372.                     st= cn.createStatement();  
  373.                     ps=cn.prepareStatement("INSERT INTO Log" + " (ID, First_Name, Middle_Name, Last_Name, Age, Gender, Status) " + " VALUES(?,?,?,?,?,?,?)");      
  374.                     ps.setString(1,txtID.getText());     
  375.                     ps.setString(2,txtFname.getText());
  376.                     ps.setString(3,txtMname.getText());
  377.                     ps.setString(4,txtLname.getText());
  378.                     ps.setString(5,txtAge.getText());
  379.                     ps.setString(6,genHolder.getText());
  380.                     ps.setString(7,staHolder.getText());
  381.                    
  382.                     ps.executeUpdate();
  383.                     JOptionPane.showMessageDialog(null,"New account has been successfully added.","Student Information System",JOptionPane.INFORMATION_MESSAGE);
  384.                     txtID.requestFocus(true);
  385.                     st.close();
  386.                     clear();
  387.                     }
  388.                     else{
  389.                             JOptionPane.showMessageDialog(null,"Please Fill Up The Empty Fields","Warning",JOptionPane.WARNING_MESSAGE);   
  390.                     }
  391.                 }catch(SQLException sqlEx){
  392.                     sqlEx.printStackTrace();
  393.                     JOptionPane.showMessageDialog(null,"Unable to save!.","Student Information System",JOptionPane.ERROR_MESSAGE);}
  394.             }
  395.            
  396.             if(source == btnSearch){    //SEARCH   
  397.                     enableAll();
  398.                     btnNew.setEnabled(false);
  399.                     try{
  400.                        
  401.                     String searchID ="";
  402.                     int tmp= 0;
  403.                     clear();
  404.                     searchID = JOptionPane.showInputDialog(null,"Enter ID to search.","Student Information System",JOptionPane.QUESTION_MESSAGE);
  405.                     st= cn.createStatement();  
  406.                     ResultSet rs=st.executeQuery("SELECT * FROM Log WHERE ID = '" + searchID + "'");
  407.                        
  408.                         while(rs.next()){
  409.                             txtID.setText(rs.getString(1));
  410.                             txtFname.setText(rs.getString(2));
  411.                             txtMname.setText(rs.getString(3));
  412.                             txtLname.setText(rs.getString(4));
  413.                             txtAge.setText(rs.getString(5));
  414.                            
  415.                            
  416.                                 if(genHolder.equals("male")){
  417.                                     male.setSelected(true);
  418.                                 }
  419.                                 else{
  420.                                     fmale.setSelected(true);
  421.                                 }
  422.                            
  423.                            
  424.                             tmp=1;
  425.                             }
  426.                         st.close();
  427.                         if (tmp==0){
  428.                             JOptionPane.showMessageDialog(null,"No record found!!.","Student Information System",JOptionPane.INFORMATION_MESSAGE); 
  429.                         }
  430.                         }catch(SQLException s){
  431.                     JOptionPane.showMessageDialog(null,"Unable to search!.","Student Information System",JOptionPane.ERROR_MESSAGE);
  432.                     System.out.println("SQL Error" + s.toString() + " " + s.getErrorCode() + " " + s.getSQLState());
  433.                     }
  434.             }
  435.            
  436.             if(source == btnUpdate){ //update          
  437.                     enableAll();
  438.                     try{
  439.                        
  440.                         String ID=txtID.getText();
  441.                         String fname=txtFname.getText();
  442.                         String mname=txtMname.getText();
  443.                         String lname=txtLname.getText();
  444.                         String age  =txtAge.getText();
  445.                         String gender=genHolder.getText();
  446.                         String status =staHolder.getText();
  447.                        
  448.                         if (!ID.equals("") && !fname.equals("") && !mname.equals("") && !lname.equals("") && !age.equals("")) {
  449.                         st= cn.createStatement();  
  450.                         PreparedStatement ps = cn.prepareStatement("UPDATE Log SET First_Name = '" + txtFname.getText() + "',Middle_Name = '" + txtMname.getText() + "',Last_Name = '" + txtLname.getText()+ "',Gender= '" +genHolder.getText() + "',Status = '" + staHolder.getText() + "'WHERE ID = '" + txtID.getText() + "'");
  451.                         ps.executeUpdate();
  452.                         JOptionPane.showMessageDialog(null,"Account has been successfully updated.","Student Information System",JOptionPane.INFORMATION_MESSAGE);
  453.                         txtID.requestFocus(true);
  454.                         clear();
  455.                         st.close();
  456.                         }
  457.                             else{
  458.                             JOptionPane.showMessageDialog(null,"Please Fill Up The Empty Fields","Warning",JOptionPane.WARNING_MESSAGE);   
  459.                     }
  460.                        
  461.                     }catch (SQLException y){
  462.                     JOptionPane.showMessageDialog(null,"Unable to update!.","Student Information System",JOptionPane.ERROR_MESSAGE);
  463.                     }
  464.                 }  
  465.            
  466.            
  467.                 if(source==btnDel){ //deletetetetete
  468.                     try{
  469.                         PreparedStatement ps = cn.prepareStatement("DELETE FROM Log WHERE ID ='"+ txtID.getText() + "'");
  470.                         ps.executeUpdate();
  471.                         JOptionPane.showMessageDialog(null,"Account has been successfully deleted.","Student Information System",JOptionPane.INFORMATION_MESSAGE);
  472.                         txtID.requestFocus(true);
  473.                         clear();
  474.                         st.close();
  475.                        
  476.                     btnNew.setEnabled(true);
  477.                     btnSave.setEnabled(false);
  478.                     btnDel.setEnabled(false);
  479.                     btnUpdate.setEnabled(false);
  480.                     btnSearch.setEnabled(true);
  481.                     btnCancel.setEnabled(false);
  482.                    
  483.                     Diploma.setEnabled(false);
  484.                     Form137.setEnabled(false);
  485.                     Record.setEnabled(false);
  486.                     Birth.setEnabled(false);
  487.                
  488.                     txtID.setEnabled(false);
  489.                     txtFname.setEnabled(false);
  490.                     txtMname.setEnabled(false);
  491.                     txtLname.setEnabled(false);
  492.                     txtAge.setEnabled(false);
  493.                    
  494.                     male.setEnabled(false);
  495.                     fmale.setEnabled(false);
  496.                     cblist.setEnabled(false);
  497.                        
  498.                     }catch(SQLException s){
  499.                     JOptionPane.showMessageDialog(null,"Unable to delete!.","Student Information System",JOptionPane.ERROR_MESSAGE);}
  500.                 }
  501.                
  502.                 if(source==btnCancel){ //btn CANCEL
  503.                     btnNew.setEnabled(true);
  504.                     btnSave.setEnabled(false);
  505.                     btnDel.setEnabled(false);
  506.                     btnUpdate.setEnabled(false);
  507.                     btnSearch.setEnabled(true);
  508.                     btnCancel.setEnabled(false);
  509.                    
  510.                     Diploma.setEnabled(false);
  511.                     Form137.setEnabled(false);
  512.                     Record.setEnabled(false);
  513.                     Birth.setEnabled(false);
  514.                
  515.                     txtID.setEnabled(false);
  516.                     txtFname.setEnabled(false);
  517.                     txtMname.setEnabled(false);
  518.                     txtLname.setEnabled(false);
  519.                     txtAge.setEnabled(false);
  520.                    
  521.                     male.setEnabled(false);
  522.                     fmale.setEnabled(false);
  523.                     cblist.setEnabled(false);
  524.                 }
  525.        
  526.        
  527.     }
  528.    
  529.    
  530.     //Itemevent listener(for combo box)
  531.     public void itemStateChanged(ItemEvent i){
  532.     //  Object source = i.getSource();
  533.        
  534.             if(i.getSource().equals(fmale)){
  535.                 genHolder.setText("female");
  536.             }
  537.             if(i.getSource().equals(male)){
  538.                 genHolder.setText("male");
  539.             }
  540.        
  541.     }
  542.  
  543.     //List selection listener (for JList
  544.     public void valueChanged(ListSelectionEvent l){
  545.        
  546.        
  547.     }
  548.    
  549. }
Advertisement
Add Comment
Please, Sign In to add comment