Advertisement
Guest User

Main

a guest
Nov 1st, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 15.43 KB | None | 0 0
  1. package paket;
  2.  
  3. import java.awt.EventQueue;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import java.sql.Connection;
  7. import java.sql.DriverManager;
  8. import java.sql.PreparedStatement;
  9. import java.sql.ResultSet;
  10. import java.util.HashMap;
  11.  
  12. import javax.swing.DefaultListModel;
  13. import javax.swing.JButton;
  14. import javax.swing.JFrame;
  15. import javax.swing.JLabel;
  16. import javax.swing.JList;
  17. import javax.swing.JOptionPane;
  18. import javax.swing.JScrollPane;
  19. import javax.swing.JTextField;
  20.  
  21. import paket1.Polaznik;
  22.  
  23. public class Prozor {
  24.  
  25.     private JFrame frame;
  26.     private JTextField textField;
  27.     private JTextField textField_1;
  28.     private JTextField textField_2;
  29.     private JTextField textField_3;
  30.     private JTextField textField_4;
  31.     private JTextField textField_5;
  32.     private JButton btnNazad;
  33.     private JButton btnNapred;
  34.     private JButton btnNovi;
  35.     private JButton btnDodaj;
  36.     private JButton btnIzmeni;
  37.     private JButton btnObrisi;
  38.     private JButton btnRedovni;
  39.     private JButton btnVandredni;
  40.     private JButton btnSvi;
  41.     private JLabel label;
  42.     private JLabel label_1;
  43.     private JLabel label_2;
  44.     private JLabel lblMestoRodjenja_1;
  45.     private JLabel lblDatumRodjenja_1;
  46.     private JLabel label_5;
  47.    
  48.    
  49.    
  50.    
  51.     private  DefaultListModel<Polaznik> model;
  52.     private JList<Polaznik> list;
  53.     static HashMap<Integer, Polaznik> hm = new HashMap<Integer, Polaznik>();
  54.    
  55.     static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
  56.     static final String DB_URL = "jdbc:mysql://localhost:3306/school";
  57.    
  58.     static final String USER = "root";
  59.     static final String PASS = "12345";
  60.    
  61.     public static boolean novi = false;
  62.     public static boolean izmena = false;
  63.  
  64.     /**
  65.      * Launch the application.
  66.      */
  67.     public static void main(String[] args) {
  68.        
  69.        
  70.         Connection conn = null;
  71.         java.sql.Statement stmt = null;
  72.        
  73.         try {
  74.             Class.forName("com.mysql.jdbc.Driver");
  75.            
  76.             conn = DriverManager.getConnection(DB_URL, USER, PASS);
  77.             stmt = conn.createStatement();
  78.             String sql;
  79.             sql = "Select * from polaznik";
  80.             ResultSet rs = stmt.executeQuery(sql);
  81.            
  82.             while(rs.next()){
  83.                 int id = rs.getInt("ID");
  84.                 String Ime = rs.getString("Ime");
  85.                 String Prezime = rs.getString("Prezime");
  86.                 float Prosek = rs.getFloat("Prosek");
  87.                 String DatumRodjenja = rs.getDate("DatumRodjenja").toString();
  88.                 String MestoRodjenja = rs.getString("MestoRodjenja");
  89.                 int Status = rs.getInt("Status");
  90.                
  91.                 Polaznik polaznik = new Polaznik(Ime,Prezime,Prosek,DatumRodjenja,MestoRodjenja,Status);
  92.                
  93.                 hm.put(id, polaznik);
  94.                
  95.             }
  96.            
  97.             rs.close();
  98.             stmt.close();
  99.             conn.close();
  100.         }catch(Exception ex) {
  101.             System.out.println(ex.toString());
  102.         }
  103.        
  104.        
  105.        
  106.         EventQueue.invokeLater(new Runnable() {
  107.             public void run() {
  108.                 try {
  109.                     Prozor window = new Prozor();
  110.                     window.frame.setVisible(true);
  111.                 } catch (Exception e) {
  112.                     e.printStackTrace();
  113.                 }
  114.             }
  115.         });
  116.     }
  117.  
  118.     /**
  119.      * Create the application.
  120.      */
  121.     public Prozor() {
  122.         initialize();
  123.     }
  124.  
  125.     /**
  126.      * Initialize the contents of the frame.
  127.      */
  128.     private void initialize() {
  129.         frame = new JFrame();
  130.         frame.setBounds(100, 100, 846, 476);
  131.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  132.         frame.getContentPane().setLayout(null);
  133.        
  134.         JLabel lblNewLabel = new JLabel("Ime");
  135.         lblNewLabel.setBounds(29, 21, 67, 14);
  136.         frame.getContentPane().add(lblNewLabel);
  137.        
  138.         JLabel lblPrezime = new JLabel("Prezime");
  139.         lblPrezime.setBounds(29, 46, 67, 14);
  140.         frame.getContentPane().add(lblPrezime);
  141.        
  142.         JLabel lblProsek = new JLabel("Prosek");
  143.         lblProsek.setBounds(29, 69, 67, 14);
  144.         frame.getContentPane().add(lblProsek);
  145.        
  146.         JLabel lblDatumRodjenja = new JLabel("Mesto rodjenja");
  147.         lblDatumRodjenja.setBounds(29, 94, 101, 14);
  148.         frame.getContentPane().add(lblDatumRodjenja);
  149.        
  150.         JLabel lblMestoRodjenja = new JLabel("Datum rodjenja");
  151.         lblMestoRodjenja.setBounds(29, 119, 101, 14);
  152.         frame.getContentPane().add(lblMestoRodjenja);
  153.        
  154.         JLabel lblStatus = new JLabel("Status");
  155.         lblStatus.setBounds(29, 144, 83, 14);
  156.         frame.getContentPane().add(lblStatus);
  157.        
  158.         textField = new JTextField();
  159.         textField.setBounds(132, 18, 86, 20);
  160.         frame.getContentPane().add(textField);
  161.         textField.setColumns(10);
  162.        
  163.         textField_1 = new JTextField();
  164.         textField_1.setColumns(10);
  165.         textField_1.setBounds(132, 43, 86, 20);
  166.         frame.getContentPane().add(textField_1);
  167.        
  168.         textField_2 = new JTextField();
  169.         textField_2.setColumns(10);
  170.         textField_2.setBounds(132, 66, 86, 20);
  171.         frame.getContentPane().add(textField_2);
  172.        
  173.         textField_3 = new JTextField();
  174.         textField_3.setColumns(10);
  175.         textField_3.setBounds(132, 91, 86, 20);
  176.         frame.getContentPane().add(textField_3);
  177.        
  178.         textField_4 = new JTextField();
  179.         textField_4.setColumns(10);
  180.         textField_4.setBounds(132, 116, 86, 20);
  181.         frame.getContentPane().add(textField_4);
  182.        
  183.         textField_5 = new JTextField();
  184.         textField_5.setColumns(10);
  185.         textField_5.setBounds(132, 141, 86, 20);
  186.         frame.getContentPane().add(textField_5);
  187.        
  188.         btnNazad = new JButton("Nazad");
  189.         btnNazad.addActionListener(new ActionListener() {
  190.             public void actionPerformed(ActionEvent arg0) {
  191.    
  192.                
  193.             }
  194.         });
  195.         btnNazad.setBounds(29, 190, 89, 23);
  196.         frame.getContentPane().add(btnNazad);
  197.        
  198.         btnNapred = new JButton("Napred");
  199.         btnNapred.addActionListener(new ActionListener() {
  200.             public void actionPerformed(ActionEvent e) {
  201.    
  202.                
  203.             }
  204.         });
  205.         btnNapred.setBounds(145, 190, 89, 23);
  206.         frame.getContentPane().add(btnNapred);
  207.        
  208.         btnNovi = new JButton("Novi");
  209.         btnNovi.addActionListener(new ActionListener() {
  210.             public void actionPerformed(ActionEvent arg0) {
  211.                
  212.  
  213.                
  214.                 textField.setEditable(true);
  215.                 textField_1.setEditable(true);
  216.                 textField_2.setEditable(true);
  217.                 textField_3.setEditable(true);
  218.                 textField_4.setEditable(true);
  219.                 textField_5.setEditable(true);
  220.                
  221.                 novi = true;
  222.                
  223.                 btnObrisi.setEnabled(false);
  224.                 btnNazad.setEnabled(false);
  225.                 btnIzmeni.setEnabled(false);
  226.                 btnNapred.setEnabled(false);
  227.                 btnNovi.setEnabled(false);
  228.                 btnDodaj.setEnabled(true);
  229.                
  230.                
  231.             }
  232.         });
  233.  
  234.  
  235.         btnNovi.setBounds(259, 190, 89, 23);
  236.         frame.getContentPane().add(btnNovi);
  237.        
  238.         btnDodaj = new JButton("Dodaj");
  239.         btnDodaj.addActionListener(new ActionListener() {
  240.             public void actionPerformed(ActionEvent e) {
  241.                
  242.                 if(novi == true)
  243.                 {
  244.                     String ime = textField.getText();
  245.                     String prezime = textField_1.getText();
  246.                     float prosek = Float.parseFloat(textField_2.getText());
  247.                     String datumRodjenja = textField_3.getText();
  248.                     String mestoRodjenja = textField_4.getText();
  249.                     int status = Integer.parseInt(textField_5.getText());
  250.                    
  251.                    
  252.                     Polaznik polaznik = new Polaznik(ime, prezime, prosek, datumRodjenja, mestoRodjenja,status);
  253.                    
  254.                     int duzina = hm.size() + 1;
  255.                     hm.put(duzina, polaznik);
  256.                    
  257.                
  258.                    
  259.                    
  260.                    
  261.                    
  262.                     Connection conn = null;
  263.                     java.sql.Statement stmt = null;
  264.                    
  265.                     try {
  266.                        
  267.                        
  268.                         Class.forName("com.mysql.jdbc.Driver");
  269.                        
  270.                         conn = DriverManager.getConnection(DB_URL, USER, PASS);
  271.                         stmt = conn.createStatement();
  272.                        
  273.                        
  274.                         String query = "insert into polaznik values( ?,?, ?, ?, ?,?,?)";
  275.                         PreparedStatement preparedStmt = (PreparedStatement) conn.prepareStatement(query);
  276.                         preparedStmt.setInt(1, duzina);
  277.                         preparedStmt.setString(2, ime);
  278.                         preparedStmt.setString(3, prezime);
  279.                         preparedStmt.setDouble(4, prosek);
  280.                         preparedStmt.setString(5, datumRodjenja);
  281.                         preparedStmt.setString(6, mestoRodjenja);
  282.                         preparedStmt.setInt(7, status);
  283.                        
  284.                        
  285.                    
  286.                        
  287.                         preparedStmt.execute();
  288.                        
  289.                        
  290.                    
  291.                        
  292.                    
  293.                         stmt.close();
  294.                         conn.close();
  295.                     }catch(Exception ex) {
  296.                         System.out.println(ex.toString());
  297.                     }
  298.                    
  299.                    
  300.                    
  301.                    
  302.                    
  303.                     textField.setEditable(true);
  304.                     textField_1.setEditable(true);
  305.                     textField_2.setEditable(true);
  306.                     textField_3.setEditable(true);
  307.                     textField_4.setEditable(true);
  308.                     textField_5.setEditable(true);
  309.                    
  310.                     novi = false;
  311.                    
  312.                     btnObrisi.setEnabled(true);
  313.                     btnNazad.setEnabled(true);
  314.                     btnIzmeni.setEnabled(true);
  315.                     btnNapred.setEnabled(true);
  316.                     btnNovi.setEnabled(true);
  317.                     btnDodaj.setEnabled(false);
  318.                    
  319.                
  320.                    
  321.                    
  322.                    
  323.                 }
  324.                
  325.                 if(izmena == true)
  326.                 {
  327.                    
  328.                     int index = list.getSelectedIndex();
  329.                    
  330.                    
  331.                    
  332.                     hm.get(index).setIme(textField.getText());
  333.                     hm.get(index).setPrezime(textField_1.getText());
  334.                     hm.get(index).setProsek(Float.parseFloat(textField_2.getText()));
  335.                     hm.get(index).setDatumRodjenja(textField_3.getText());
  336.                     hm.get(index).setMestoRodjenja(textField_4.getText());
  337.                     hm.get(index).setStatus(Integer.parseInt(textField_5.getText()));
  338.                    
  339.                    
  340.                    
  341.                
  342.  
  343.                     Connection conn = null;
  344.                     java.sql.Statement stmt = null;
  345.                    
  346.                     try {
  347.                        
  348.                        
  349.                         Class.forName("com.mysql.jdbc.Driver");
  350.                        
  351.                         conn = DriverManager.getConnection(DB_URL, USER, PASS);
  352.                         stmt = conn.createStatement();
  353.                        
  354.                        
  355.                         String query = "update polaznik set Ime = ?, Prezime = ?, Prosek = ?, DatumRodjenja = ?, MestoRodjenja = ?, Status = ? where ID = ?";
  356.                         PreparedStatement preparedStmt = (PreparedStatement) conn.prepareStatement(query);
  357.                         preparedStmt.setString(1, hm.get(index).getIme());
  358.                         preparedStmt.setString(2, hm.get(index).getPrezime());
  359.                         preparedStmt.setDouble(3, hm.get(index).getProsek());
  360.                         preparedStmt.setString(4, hm.get(index).getDatumRodjenja());
  361.                         preparedStmt.setString(5, hm.get(index).getMestoRodjenja());
  362.                         preparedStmt.setInt(6, hm.get(index).getStatus());
  363.                         preparedStmt.setInt(7, index);
  364.                    
  365.                        
  366.                    
  367.                        
  368.                         preparedStmt.execute();
  369.                        
  370.                        
  371.                    
  372.                        
  373.                    
  374.                         stmt.close();
  375.                         conn.close();
  376.                     }catch(Exception ex) {
  377.                         System.out.println(ex.toString());
  378.                     }
  379.                    
  380.                    
  381.                    
  382.                    
  383.                    
  384.                    
  385.                    
  386.                    
  387.                     textField.setEditable(true);
  388.                     textField_1.setEditable(true);
  389.                     textField_2.setEditable(true);
  390.                     textField_3.setEditable(true);
  391.                     textField_4.setEditable(true);
  392.                     textField_5.setEditable(true);;
  393.                    
  394.                     novi = false;
  395.                    
  396.                     btnObrisi.setEnabled(true);
  397.                     btnNazad.setEnabled(true);
  398.                     btnIzmeni.setEnabled(true);
  399.                     btnNapred.setEnabled(true);
  400.                     btnNovi.setEnabled(true);
  401.                     btnDodaj.setEnabled(false);
  402.                    
  403.                    
  404.                 }
  405.                
  406.                
  407.                 textField.setText("");
  408.                 textField_1.setText("");
  409.                 textField_2.setText("");
  410.                 textField_3.setText("");
  411.                 textField_4.setText("");
  412.                 textField_5.setText("");
  413.                
  414.                
  415.             }
  416.         });
  417.         btnDodaj.setBounds(368, 190, 89, 23);
  418.         frame.getContentPane().add(btnDodaj);
  419.        
  420.         btnIzmeni = new JButton("Izmeni");
  421.         btnIzmeni.addActionListener(new ActionListener() {
  422.             public void actionPerformed(ActionEvent e) {
  423.                
  424.                 try{
  425.                
  426.                
  427.                 int index = list.getSelectedIndex()+1;
  428.  
  429.                 textField.setEditable(true);
  430.                 textField_1.setEditable(true);
  431.                 textField_2.setEditable(true);
  432.                 textField_3.setEditable(true);
  433.                 textField_4.setEditable(true);
  434.                 textField_5.setEditable(true);
  435.                
  436.                 izmena = true;
  437.                
  438.                 btnObrisi.setEnabled(false);
  439.                 btnNazad.setEnabled(false);
  440.                 btnIzmeni.setEnabled(false);
  441.                 btnNapred.setEnabled(false);
  442.                 btnNovi.setEnabled(false);
  443.                 btnDodaj.setEnabled(true);
  444.                
  445.                
  446.                
  447.                
  448.                
  449.                    
  450.                
  451.                
  452.                
  453.                
  454.                
  455.                
  456.                 textField.setText(hm.get(index).getIme());
  457.                 textField_1.setText(hm.get(index).getPrezime());
  458.                 float prosek = hm.get(index).getProsek();
  459.                 textField_2.setText(String.valueOf(prosek));
  460.                 textField_3.setText(hm.get(index).getDatumRodjenja());
  461.                 textField_4.setText(hm.get(index).getMestoRodjenja());
  462.                 textField_5.setText(String.valueOf(hm.get(index).getStatus()));
  463.                
  464.                 }catch(Exception ex)
  465.                 {
  466.                     JOptionPane.showMessageDialog(frame, "Morate izabrati red koji zelite da izmenite.");
  467.                    
  468.                     izmena = false;
  469.                    
  470.                     btnObrisi.setEnabled(true);
  471.                     btnNazad.setEnabled(true);
  472.                     btnIzmeni.setEnabled(true);
  473.                     btnNapred.setEnabled(true);
  474.                     btnNovi.setEnabled(true);
  475.                     btnDodaj.setEnabled(true);
  476.                 }
  477.                
  478.             }
  479.         });
  480.  
  481.  
  482.         btnIzmeni.setBounds(483, 190, 89, 23);
  483.         frame.getContentPane().add(btnIzmeni);
  484.        
  485.         btnObrisi = new JButton("Obrisi");
  486.         btnObrisi.addActionListener(new ActionListener() {
  487.             public void actionPerformed(ActionEvent e) {
  488.                
  489.                 int index = list.getSelectedIndex();
  490.                
  491.                 hm.remove(index);
  492.                
  493.                 model = new DefaultListModel<Polaznik>();
  494.                
  495.                 for(int i = 1; i < hm.size(); i++)
  496.                 {
  497.                     model.addElement(hm.get(i));
  498.                 }
  499.                
  500.                 list.setModel(model);
  501.                
  502.                
  503.            
  504.                
  505.                
  506.                 Connection conn = null;
  507.                 java.sql.Statement stmt = null;
  508.                
  509.                 try {
  510.                    
  511.                    
  512.                     Class.forName("com.mysql.jdbc.Driver");
  513.                    
  514.                     conn = DriverManager.getConnection(DB_URL, USER, PASS);
  515.                     stmt = conn.createStatement();
  516.                    
  517.                
  518.                     String query = "delete from polaznik where id = ?";
  519.                     PreparedStatement preparedStmt = (PreparedStatement) conn.prepareStatement(query);
  520.                     preparedStmt.setInt(1, index);
  521.                     preparedStmt.execute();
  522.                    
  523.                    
  524.                
  525.                    
  526.                    
  527.                     stmt.close();
  528.                     conn.close();
  529.                 }catch(Exception ex) {
  530.                     System.out.println(ex.toString());
  531.                 }
  532.                
  533.             }
  534.         });
  535.         btnObrisi.setBounds(602, 190, 89, 23);
  536.         frame.getContentPane().add(btnObrisi);
  537.        
  538.         btnRedovni = new JButton("Redovni");
  539.         btnRedovni.addActionListener(new ActionListener() {
  540.             public void actionPerformed(ActionEvent e) {
  541.            
  542.                
  543.             }
  544.         });
  545.         btnRedovni.setBounds(602, 21, 101, 23);
  546.         frame.getContentPane().add(btnRedovni);
  547.        
  548.         btnVandredni = new JButton("Vandredni");
  549.         btnVandredni.addActionListener(new ActionListener() {
  550.             public void actionPerformed(ActionEvent arg0) {
  551.        
  552.                
  553.             }
  554.         });
  555.         btnVandredni.setBounds(602, 65, 101, 23);
  556.         frame.getContentPane().add(btnVandredni);
  557.        
  558.         btnSvi = new JButton("Svi");
  559.         btnSvi.addActionListener(new ActionListener() {
  560.             public void actionPerformed(ActionEvent arg0) {
  561.                
  562.                 model = new DefaultListModel<Polaznik>();
  563.                
  564.                 model.clear();
  565.                
  566.                 for(int i = 1; i <= hm.size();i++)
  567.                 {
  568.                     model.addElement(hm.get(i));
  569.                 }
  570.                
  571.                
  572.            
  573.                
  574.                 list.setModel(model);
  575.                
  576.                
  577.                
  578.                
  579.             }
  580.         });
  581.         btnSvi.setBounds(602, 115, 101, 23);
  582.         frame.getContentPane().add(btnSvi);
  583.        
  584.         label = new JLabel("Ime");
  585.         label.setBounds(45, 239, 67, 14);
  586.         frame.getContentPane().add(label);
  587.        
  588.         label_1 = new JLabel("Prezime");
  589.         label_1.setBounds(100, 239, 67, 14);
  590.         frame.getContentPane().add(label_1);
  591.        
  592.         label_2 = new JLabel("Prosek");
  593.         label_2.setBounds(194, 239, 67, 14);
  594.         frame.getContentPane().add(label_2);
  595.        
  596.         lblMestoRodjenja_1 = new JLabel("Mesto rodjenja");
  597.         lblMestoRodjenja_1.setBounds(259, 239, 113, 14);
  598.         frame.getContentPane().add(lblMestoRodjenja_1);
  599.        
  600.         lblDatumRodjenja_1 = new JLabel("Datum rodjenja");
  601.         lblDatumRodjenja_1.setBounds(382, 239, 101, 14);
  602.         frame.getContentPane().add(lblDatumRodjenja_1);
  603.        
  604.         label_5 = new JLabel("Status");
  605.         label_5.setBounds(493, 239, 83, 14);
  606.         frame.getContentPane().add(label_5);
  607.        
  608.         JScrollPane scrollPane = new JScrollPane();
  609.         scrollPane.setBounds(29, 282, 540, 104);
  610.         frame.getContentPane().add(scrollPane);
  611.        
  612.    
  613.         list = new JList<Polaznik>();
  614.        
  615.         scrollPane.setViewportView(list);
  616.     }
  617. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement