Advertisement
Guest User

Untitled

a guest
Nov 27th, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.89 KB | None | 0 0
  1.  
  2. package kolokwium1;
  3.  
  4. import java.awt.BorderLayout;
  5. import java.awt.Container;
  6. import java.awt.FlowLayout;
  7. import java.awt.GridLayout;
  8. import java.awt.event.ActionEvent;
  9. import java.awt.event.ActionListener;
  10. import java.sql.Connection;
  11. import java.sql.DriverManager;
  12. import java.sql.ResultSet;
  13. import java.sql.Statement;
  14. import java.util.ArrayList;
  15. import javax.swing.JButton;
  16. import javax.swing.JFrame;
  17. import javax.swing.JLabel;
  18. import javax.swing.JMenu;
  19. import javax.swing.JMenuBar;
  20. import javax.swing.JMenuItem;
  21. import javax.swing.JPanel;
  22. import javax.swing.JRadioButton;
  23. import javax.swing.JScrollPane;
  24. import javax.swing.JTable;
  25. import javax.swing.JTextField;
  26. import javax.swing.table.DefaultTableModel;
  27. import javax.swing.ButtonGroup;
  28. import javax.xml.parsers.DocumentBuilder;
  29. import javax.xml.parsers.DocumentBuilderFactory;
  30. import javax.xml.transform.Result;
  31. import javax.xml.transform.Source;
  32. import javax.xml.transform.Transformer;
  33. import javax.xml.transform.TransformerFactory;
  34. import javax.xml.transform.dom.DOMSource;
  35. import javax.xml.transform.stream.StreamResult;
  36. import org.w3c.dom.Document;
  37. import org.w3c.dom.Element;
  38. import org.w3c.dom.NodeList;
  39.  
  40. public class Ramka extends JFrame implements ActionListener {
  41.    
  42.     JPanel panelGlowny, panelDanych, panelDanych2, panelTabeli, panelPrzyciskow;
  43.     JButton przycisk1, przycisk2, przycisk3;
  44.     JRadioButton button1, button2, button3;
  45.     ButtonGroup grupa;
  46.     JLabel et1, et2, et3, et4, et5, et6;
  47.     JTextField pole1, pole2, pole3;
  48.     JTable tabela;
  49.     DefaultTableModel modelTabeli;
  50.     Container zawartoscRamki;
  51.     JMenuBar pasek;
  52.     JMenu menu1;
  53.     JMenuItem opcja1, opcja2;
  54.    
  55.     ArrayList<Kot> kolekcja;
  56.    
  57.     public Ramka(){
  58.         super("Aplikacja");
  59.        
  60.         this.setSize(800,600);
  61.        
  62.         this.kolekcja = new ArrayList<Kot>();
  63.        
  64.         this.zawartoscRamki = this.getContentPane();
  65.         this.panelGlowny = new JPanel(new BorderLayout());
  66.        
  67.         this.panelDanych = new JPanel(new GridLayout(6,6));
  68.         this.panelDanych2 = new JPanel(new BorderLayout());
  69.        
  70.         this.panelGlowny.add(this.panelDanych, BorderLayout.WEST);
  71.         this.zawartoscRamki.add(this.panelGlowny);
  72.        
  73.         this.et1 = new JLabel("Rasa:");
  74.         this.panelDanych.add(this.et1);
  75.        
  76.         this.pole1 = new JTextField();
  77.         this.panelDanych.add(this.pole1);
  78.        
  79.         this.et2 = new JLabel("Wiek:");
  80.         this.panelDanych.add(this.et2);
  81.        
  82.         this.pole2 = new JTextField();
  83.         this.panelDanych.add(this.pole2);
  84.        
  85.         this.et3 = new JLabel("Sortowanie względem rasy:");
  86.         this.panelDanych.add(this.et3);
  87.        
  88.         this.pole3 = new JTextField();
  89.         this.panelDanych.add(this.pole3);
  90.        
  91.         this.et4 = new JLabel("Sortowanie względem wieku:");
  92.         this.panelDanych.add(this.et4);
  93.        
  94.         this.button1 = new JRadioButton("0-5");
  95.         this.panelDanych.add(this.button1);
  96.        
  97.        
  98.         this.et5 = new JLabel();
  99.         this.panelDanych.add(this.et5);
  100.        
  101.         this.button2 = new JRadioButton("6-10");
  102.         this.panelDanych.add(this.button2);
  103.        
  104.        
  105.         this.et6 = new JLabel();
  106.         this.panelDanych.add(this.et6);
  107.        
  108.         this.button3 = new JRadioButton(">10");
  109.         this.panelDanych.add(this.button3);
  110.        
  111.        
  112.         this.panelPrzyciskow = new JPanel(new FlowLayout());
  113.         this.panelGlowny.add(this.panelPrzyciskow, BorderLayout.SOUTH);
  114.        
  115.         this.przycisk1 = new JButton("Dodaj");
  116.         this.panelPrzyciskow.add(this.przycisk1);
  117.         this.przycisk1.addActionListener(this);
  118.        
  119.         this.przycisk2 = new JButton("Wczytaj XML");
  120.         this.panelPrzyciskow.add(this.przycisk2);
  121.         this.przycisk2.addActionListener(this);
  122.        
  123.         this.przycisk3 = new JButton("Zapisz XML");
  124.         this.panelPrzyciskow.add(this.przycisk3);
  125.         this.przycisk3.addActionListener(this);
  126.        
  127.         this.panelTabeli = new JPanel(new BorderLayout());
  128.         this.panelGlowny.add(this.panelTabeli, BorderLayout.CENTER);
  129.        
  130.         this.modelTabeli = new DefaultTableModel();
  131.         this.modelTabeli.addColumn("Rasa");
  132.         this.modelTabeli.addColumn("Wiek");
  133.        
  134.         this.tabela = new JTable(this.modelTabeli);
  135.         this.panelTabeli.add(new JScrollPane(this.tabela));
  136.        
  137.         pasek = new JMenuBar();
  138.        
  139.         menu1 = new JMenu("Baza");
  140.         opcja1 = new JMenuItem("Wczytaj bazę");
  141.         menu1.add(opcja1);
  142.         opcja1.addActionListener(this);
  143.         opcja2 = new JMenuItem("Zapisz bazę");
  144.         menu1.add(opcja2);
  145.         opcja2.addActionListener(this);
  146.        
  147.         pasek.add(menu1);
  148.         this.setJMenuBar(pasek);
  149.        
  150.         this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  151.         this.setVisible(true);
  152.     }
  153.  
  154.     @Override
  155.     public void actionPerformed(ActionEvent e) {
  156.         if(e.getActionCommand().equals("Dodaj")){
  157.             Kot k = new Kot(pole1.getText(), Integer.parseInt(pole2.getText()));
  158.             kolekcja.add(k);
  159.            
  160.             Object[] dane = new Object[2];
  161.             dane[0] = k.getRasa();
  162.             dane[1] = k.getWiek();
  163.            
  164.             this.modelTabeli.addRow(dane);
  165.            
  166.             pole1.setText("");
  167.             pole2.setText("");
  168.         }
  169.         if(e.getActionCommand().equals("Wczytaj XML")){
  170.             try{
  171.                 DocumentBuilderFactory fabr = DocumentBuilderFactory.newInstance();
  172.                 DocumentBuilder parser = fabr.newDocumentBuilder();
  173.                 Document dokument = parser.parse("koty.xml");
  174.                
  175.                 Element root = dokument.getDocumentElement();
  176.                
  177.                 NodeList wektory = root.getElementsByTagName("kot");
  178.                
  179.                 for(int i=0; i<wektory.getLength();i++){
  180.                     String rasa = ((Element)wektory.item(i)).getAttribute("rasa");
  181.                     int wiek = Integer.parseInt(((Element)wektory.item(i)).getAttribute("wiek"));
  182.                
  183.                     Kot kot = new Kot(rasa, wiek);
  184.                     kolekcja.add(kot);
  185.                    
  186.                     Object[] wczytaj = new Object[2];
  187.                     wczytaj[0] = kot.getRasa();
  188.                     wczytaj[1] = kot.getWiek();
  189.                    
  190.                     this.modelTabeli.addRow(wczytaj);
  191.                 }
  192.             }
  193.             catch(Exception ex){
  194.                 System.out.print("Wyjątek.");
  195.                 }
  196.         }
  197.         if(e.getActionCommand().equals("Zapisz XML")){
  198.             try{
  199.                 DocumentBuilderFactory fabr = DocumentBuilderFactory.newInstance();
  200.                 DocumentBuilder parser = fabr.newDocumentBuilder();
  201.                 Document dokument = parser.newDocument();
  202.                
  203.                 Element root = dokument.createElement("koty");
  204.                 dokument.appendChild(root);
  205.                
  206.                 for(Kot k: kolekcja){
  207.                     Element k1 = dokument.createElement("kot");
  208.                     k1.setAttribute("rasa", k.getRasa());
  209.                     k1.setAttribute("wiek", String.valueOf(k.getWiek()));
  210.                    
  211.                     root.appendChild(k1);
  212.                 }
  213.                 Transformer przekszt = TransformerFactory.newInstance().newTransformer();
  214.                 Source zrodlo = new DOMSource(dokument);
  215.                 Result wyjscie = new StreamResult("koty2.xml");
  216.                 przekszt.transform(zrodlo, wyjscie);
  217.             }
  218.             catch(Exception ex){
  219.                 System.out.print("Wyjątek.");
  220.                 }
  221.         }
  222.         if(e.getActionCommand().equals("Wczytaj bazę")){
  223.               Connection polaczenie;
  224.              try{
  225.                  Class.forName("com.mysql.jdbc.Driver").newInstance();
  226.                  polaczenie=DriverManager.getConnection("jdbc:mysql://localhost/koty", "root","");
  227.                  
  228.                  System.out.println(polaczenie);
  229.                  
  230.                  Statement instrukcja = polaczenie.createStatement();
  231.                  ResultSet wynik = instrukcja.executeQuery("SELECT * FROM kot");
  232.                  
  233.                  while(wynik.next()){
  234.                      Object[] dane = new Object[2];
  235.                      
  236.                      dane[0] = wynik.getObject("rasa");
  237.                      dane[1] = wynik.getObject("wiek");
  238.                      this.modelTabeli.addRow(dane);
  239.                      
  240.                      Kot k = new Kot((String)wynik.getObject("rasa"), (int)wynik.getObject("wiek"));
  241.                      kolekcja.add(k);
  242.                  }
  243.                  polaczenie.close();
  244.              }
  245.                catch(Exception ex){
  246.                 System.out.print("Wyjątek.");
  247.                 }
  248.          }
  249.         if(e.getActionCommand().equals("Zapisz bazę")){
  250.              Connection polaczenie;
  251.              try{
  252.                  Class.forName("com.mysql.jdbc.Driver").newInstance();
  253.                  polaczenie = DriverManager.getConnection("jdbc:mysql://localhost/koty", "root","");
  254.                  
  255.                  Statement instrukcja = polaczenie.createStatement();
  256.                  instrukcja.executeUpdate("DELETE FROM kot");
  257.                  
  258.                 for(Kot k: kolekcja){
  259.                     String sql = "INSERT INTO kot SET ";
  260.                     sql+="rasa='"+k.getRasa()+"',";
  261.                     sql+="wiek='"+k.getWiek()+"'";
  262.                    
  263.                     System.out.println(sql);
  264.                    
  265.                     instrukcja.executeUpdate(sql);
  266.                 }
  267.                  polaczenie.close();
  268.              }
  269.              catch(Exception ex){
  270.                 System.out.print(ex.getMessage());
  271.                 }
  272.          }
  273.          
  274.     }
  275.  
  276.    
  277. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement