Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package kolokwium1;
- import java.awt.BorderLayout;
- import java.awt.Container;
- import java.awt.FlowLayout;
- import java.awt.GridLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.Statement;
- import java.util.ArrayList;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JMenu;
- import javax.swing.JMenuBar;
- import javax.swing.JMenuItem;
- import javax.swing.JPanel;
- import javax.swing.JRadioButton;
- import javax.swing.JScrollPane;
- import javax.swing.JTable;
- import javax.swing.JTextField;
- import javax.swing.table.DefaultTableModel;
- import javax.swing.ButtonGroup;
- import javax.xml.parsers.DocumentBuilder;
- import javax.xml.parsers.DocumentBuilderFactory;
- import javax.xml.transform.Result;
- import javax.xml.transform.Source;
- import javax.xml.transform.Transformer;
- import javax.xml.transform.TransformerFactory;
- import javax.xml.transform.dom.DOMSource;
- import javax.xml.transform.stream.StreamResult;
- import org.w3c.dom.Document;
- import org.w3c.dom.Element;
- import org.w3c.dom.NodeList;
- public class Ramka extends JFrame implements ActionListener {
- JPanel panelGlowny, panelDanych, panelDanych2, panelTabeli, panelPrzyciskow;
- JButton przycisk1, przycisk2, przycisk3;
- JRadioButton button1, button2, button3;
- ButtonGroup grupa;
- JLabel et1, et2, et3, et4, et5, et6;
- JTextField pole1, pole2, pole3;
- JTable tabela;
- DefaultTableModel modelTabeli;
- Container zawartoscRamki;
- JMenuBar pasek;
- JMenu menu1;
- JMenuItem opcja1, opcja2;
- ArrayList<Kot> kolekcja;
- public Ramka(){
- super("Aplikacja");
- this.setSize(800,600);
- this.kolekcja = new ArrayList<Kot>();
- this.zawartoscRamki = this.getContentPane();
- this.panelGlowny = new JPanel(new BorderLayout());
- this.panelDanych = new JPanel(new GridLayout(6,6));
- this.panelDanych2 = new JPanel(new BorderLayout());
- this.panelGlowny.add(this.panelDanych, BorderLayout.WEST);
- this.zawartoscRamki.add(this.panelGlowny);
- this.et1 = new JLabel("Rasa:");
- this.panelDanych.add(this.et1);
- this.pole1 = new JTextField();
- this.panelDanych.add(this.pole1);
- this.et2 = new JLabel("Wiek:");
- this.panelDanych.add(this.et2);
- this.pole2 = new JTextField();
- this.panelDanych.add(this.pole2);
- this.et3 = new JLabel("Sortowanie względem rasy:");
- this.panelDanych.add(this.et3);
- this.pole3 = new JTextField();
- this.panelDanych.add(this.pole3);
- this.et4 = new JLabel("Sortowanie względem wieku:");
- this.panelDanych.add(this.et4);
- this.button1 = new JRadioButton("0-5");
- this.panelDanych.add(this.button1);
- this.et5 = new JLabel();
- this.panelDanych.add(this.et5);
- this.button2 = new JRadioButton("6-10");
- this.panelDanych.add(this.button2);
- this.et6 = new JLabel();
- this.panelDanych.add(this.et6);
- this.button3 = new JRadioButton(">10");
- this.panelDanych.add(this.button3);
- this.panelPrzyciskow = new JPanel(new FlowLayout());
- this.panelGlowny.add(this.panelPrzyciskow, BorderLayout.SOUTH);
- this.przycisk1 = new JButton("Dodaj");
- this.panelPrzyciskow.add(this.przycisk1);
- this.przycisk1.addActionListener(this);
- this.przycisk2 = new JButton("Wczytaj XML");
- this.panelPrzyciskow.add(this.przycisk2);
- this.przycisk2.addActionListener(this);
- this.przycisk3 = new JButton("Zapisz XML");
- this.panelPrzyciskow.add(this.przycisk3);
- this.przycisk3.addActionListener(this);
- this.panelTabeli = new JPanel(new BorderLayout());
- this.panelGlowny.add(this.panelTabeli, BorderLayout.CENTER);
- this.modelTabeli = new DefaultTableModel();
- this.modelTabeli.addColumn("Rasa");
- this.modelTabeli.addColumn("Wiek");
- this.tabela = new JTable(this.modelTabeli);
- this.panelTabeli.add(new JScrollPane(this.tabela));
- pasek = new JMenuBar();
- menu1 = new JMenu("Baza");
- opcja1 = new JMenuItem("Wczytaj bazę");
- menu1.add(opcja1);
- opcja1.addActionListener(this);
- opcja2 = new JMenuItem("Zapisz bazę");
- menu1.add(opcja2);
- opcja2.addActionListener(this);
- pasek.add(menu1);
- this.setJMenuBar(pasek);
- this.setDefaultCloseOperation(EXIT_ON_CLOSE);
- this.setVisible(true);
- }
- @Override
- public void actionPerformed(ActionEvent e) {
- if(e.getActionCommand().equals("Dodaj")){
- Kot k = new Kot(pole1.getText(), Integer.parseInt(pole2.getText()));
- kolekcja.add(k);
- Object[] dane = new Object[2];
- dane[0] = k.getRasa();
- dane[1] = k.getWiek();
- this.modelTabeli.addRow(dane);
- pole1.setText("");
- pole2.setText("");
- }
- if(e.getActionCommand().equals("Wczytaj XML")){
- try{
- DocumentBuilderFactory fabr = DocumentBuilderFactory.newInstance();
- DocumentBuilder parser = fabr.newDocumentBuilder();
- Document dokument = parser.parse("koty.xml");
- Element root = dokument.getDocumentElement();
- NodeList wektory = root.getElementsByTagName("kot");
- for(int i=0; i<wektory.getLength();i++){
- String rasa = ((Element)wektory.item(i)).getAttribute("rasa");
- int wiek = Integer.parseInt(((Element)wektory.item(i)).getAttribute("wiek"));
- Kot kot = new Kot(rasa, wiek);
- kolekcja.add(kot);
- Object[] wczytaj = new Object[2];
- wczytaj[0] = kot.getRasa();
- wczytaj[1] = kot.getWiek();
- this.modelTabeli.addRow(wczytaj);
- }
- }
- catch(Exception ex){
- System.out.print("Wyjątek.");
- }
- }
- if(e.getActionCommand().equals("Zapisz XML")){
- try{
- DocumentBuilderFactory fabr = DocumentBuilderFactory.newInstance();
- DocumentBuilder parser = fabr.newDocumentBuilder();
- Document dokument = parser.newDocument();
- Element root = dokument.createElement("koty");
- dokument.appendChild(root);
- for(Kot k: kolekcja){
- Element k1 = dokument.createElement("kot");
- k1.setAttribute("rasa", k.getRasa());
- k1.setAttribute("wiek", String.valueOf(k.getWiek()));
- root.appendChild(k1);
- }
- Transformer przekszt = TransformerFactory.newInstance().newTransformer();
- Source zrodlo = new DOMSource(dokument);
- Result wyjscie = new StreamResult("koty2.xml");
- przekszt.transform(zrodlo, wyjscie);
- }
- catch(Exception ex){
- System.out.print("Wyjątek.");
- }
- }
- if(e.getActionCommand().equals("Wczytaj bazę")){
- Connection polaczenie;
- try{
- Class.forName("com.mysql.jdbc.Driver").newInstance();
- polaczenie=DriverManager.getConnection("jdbc:mysql://localhost/koty", "root","");
- System.out.println(polaczenie);
- Statement instrukcja = polaczenie.createStatement();
- ResultSet wynik = instrukcja.executeQuery("SELECT * FROM kot");
- while(wynik.next()){
- Object[] dane = new Object[2];
- dane[0] = wynik.getObject("rasa");
- dane[1] = wynik.getObject("wiek");
- this.modelTabeli.addRow(dane);
- Kot k = new Kot((String)wynik.getObject("rasa"), (int)wynik.getObject("wiek"));
- kolekcja.add(k);
- }
- polaczenie.close();
- }
- catch(Exception ex){
- System.out.print("Wyjątek.");
- }
- }
- if(e.getActionCommand().equals("Zapisz bazę")){
- Connection polaczenie;
- try{
- Class.forName("com.mysql.jdbc.Driver").newInstance();
- polaczenie = DriverManager.getConnection("jdbc:mysql://localhost/koty", "root","");
- Statement instrukcja = polaczenie.createStatement();
- instrukcja.executeUpdate("DELETE FROM kot");
- for(Kot k: kolekcja){
- String sql = "INSERT INTO kot SET ";
- sql+="rasa='"+k.getRasa()+"',";
- sql+="wiek='"+k.getWiek()+"'";
- System.out.println(sql);
- instrukcja.executeUpdate(sql);
- }
- polaczenie.close();
- }
- catch(Exception ex){
- System.out.print(ex.getMessage());
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement