Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.marcin.rosol;
- import java.awt.BorderLayout;
- import java.awt.Color;
- 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 java.util.List;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- 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.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;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
- import org.hibernate.cfg.Configuration;
- import org.hibernate.service.ServiceRegistry;
- public class Gui extends JFrame implements ActionListener{
- Container container;
- JPanel panelGlowny;
- JPanel panelPrzyciskow;
- JPanel panelDanych;
- JPanel panelTabeli;
- JPanel panelRadio;
- JPanel panelBazy;
- JPanel west;
- JPanel center;
- JPanel east;
- JLabel labelRodzaj;
- JLabel labelWielkosc;
- JLabel labelCena;
- JTextField pole1;
- JTextField pole2;
- JTextField pole3;
- JTable tabela;
- JButton przyciskDodaj;
- JButton wczytajXML;
- JButton zapiszXML;
- JButton odczytBaza;
- JButton zapisBaza;
- JRadioButton duza;
- JRadioButton srednia;
- JRadioButton mala;
- DefaultTableModel modelTabeli;
- ArrayList<Kawa> kolekcja;
- public Gui() {
- super("Kawiarnia");
- setSize(500,630);
- this.container = getContentPane();
- this.kolekcja = new ArrayList();
- this.west = new JPanel(new FlowLayout());
- this.center = new JPanel(new FlowLayout());
- this.east = new JPanel(new FlowLayout());
- this.panelGlowny = new JPanel(new BorderLayout());
- this.panelTabeli = new JPanel(new FlowLayout());
- this.panelDanych = new JPanel(new GridLayout(3, 2));
- this.panelRadio = new JPanel(new GridLayout(3,1));
- this.panelBazy = new JPanel(new GridLayout(4,1));
- this.panelPrzyciskow = new JPanel(new FlowLayout());
- //tworzenie i nadanie napisow do radio button
- this.duza = new JRadioButton("Duza", true);
- this.srednia = new JRadioButton("Srednia", true);
- this.mala = new JRadioButton("Mala", true);
- this.duza.addActionListener(this);
- this.srednia.addActionListener(this);
- this.mala.addActionListener(this);
- this.panelRadio.add(this.duza);
- this.panelRadio.add(this.srednia);
- this.panelRadio.add(this.mala);
- this.center.add(this.panelRadio);
- //tworzenie i nadanie napisow do przycisku
- this.zapiszXML = new JButton("zapis do xml");
- this.wczytajXML = new JButton("wczytaj xml");
- this.przyciskDodaj = new JButton("dodaj");
- this.odczytBaza = new JButton("Odczyt z bazy");
- this.zapisBaza = new JButton("Zapis do bazy");
- this.panelPrzyciskow.add(this.przyciskDodaj);
- this.panelBazy.add(this.odczytBaza);
- this.panelBazy.add(this.zapisBaza);
- this.panelBazy.add(this.zapiszXML);
- this.panelBazy.add(this.wczytajXML);
- this.east.add(this.panelBazy);
- this.labelRodzaj = new JLabel("Rodzaj");
- this.labelWielkosc = new JLabel("Wielkosc");
- this.labelCena = new JLabel("cena");
- //dodawanie tabeli
- this.modelTabeli = new DefaultTableModel();//model tabeli
- this.modelTabeli.addColumn("Rodzaj");
- this.modelTabeli.addColumn("Rozmiar");
- this.modelTabeli.addColumn("Cena");
- //tworzenie pola tekstowego
- this.pole1 = new JTextField();
- this.pole2 = new JTextField();
- this.pole3 = new JTextField();
- //dodawanie labelow i pola tekstowego
- this.panelDanych.add(this.labelRodzaj);
- this.panelDanych.add(this.pole1);
- this.panelDanych.add(this.labelWielkosc);
- this.panelDanych.add(this.pole2);
- this.panelDanych.add(this.labelCena);
- this.panelDanych.add(this.pole3);
- this.west.add(this.panelDanych);
- this.tabela = new JTable(this.modelTabeli);
- this.panelTabeli.add(new JScrollPane(this.tabela));
- this.przyciskDodaj.addActionListener(this);
- this.wczytajXML.addActionListener(this);
- this.zapiszXML.addActionListener(this);
- this.odczytBaza.addActionListener(this);
- this.zapisBaza.addActionListener(this);
- // this.duza.addActionListener(this);
- this.panelGlowny.add(this.panelTabeli,"North");
- this.panelGlowny.add(this.west, "West");
- this.panelGlowny.add(this.center, "Center");
- this.panelGlowny.add(this.east, "East");
- this.panelGlowny.add(this.panelPrzyciskow, "South");
- this.container.add(this.panelGlowny);
- setDefaultCloseOperation(EXIT_ON_CLOSE);//zamyka aplikacje
- setVisible(true);
- }
- @Override
- public void actionPerformed(ActionEvent e) {
- if(e.getActionCommand().equalsIgnoreCase("dodaj")) {
- dodaj();
- }
- if(e.getActionCommand().equalsIgnoreCase("wczytaj xml")) {
- clear();
- fileOpen();
- }
- if(e.getActionCommand().equalsIgnoreCase("zapis do xml")) {
- fileSave();
- }
- if(e.getActionCommand().equalsIgnoreCase("zapis do bazy")) {
- sqlSave();
- }
- if(e.getActionCommand().equalsIgnoreCase("odczyt z bazy")) {
- sqlLoad();
- }
- }
- private void dodaj() {
- Kawa k = new Kawa();
- k.setRodzaj(this.pole1.getText());
- k.setRozmiar(this.pole2.getText());
- k.setCena(Float.valueOf(this.pole3.getText()));
- Object[] obiekt = new Object[3];
- obiekt[0] = k.getRodzaj();
- obiekt[1]=k.getRozmiar();
- obiekt[2]=k.getCena();
- this.kolekcja.add(k);
- this.modelTabeli.addRow(obiekt);
- this.pole1.setText("");
- this.pole2.setText("");
- this.pole3.setText("");
- }
- private void clear() {
- this.modelTabeli.setRowCount(0);
- this.kolekcja.clear();
- }
- private void fileSave() {
- System.out.println("zapis");
- try
- {
- DocumentBuilderFactory fabr = DocumentBuilderFactory.newInstance();
- DocumentBuilder parser = fabr.newDocumentBuilder();
- Document dokument = parser.newDocument();
- Element root = dokument.createElement("ksiazki");
- dokument.appendChild(root);
- for (Kawa k : this.kolekcja)
- {
- Element ks = dokument.createElement("kawa");
- ks.setAttribute("rodzaj", k.getRodzaj());
- ks.setAttribute("wielkosc", k.getRozmiar());
- ks.setAttribute("cena", String.valueOf(k.getCena()));
- root.appendChild(ks);
- }
- Transformer przekszt = TransformerFactory.newInstance().newTransformer();
- Object zrodlo = new DOMSource(dokument);
- Result wyjscie = new StreamResult("daneZapis.xml");
- przekszt.transform((Source)zrodlo, wyjscie);
- }
- catch (Exception ex)
- {
- String msg = ex.getMessage();
- if (msg == null) {
- msg = ex.getClass().getName();
- }
- System.out.println("Exception: " + msg);
- }
- }
- private void fileOpen() {
- try {
- DocumentBuilderFactory fabr = DocumentBuilderFactory.newInstance();
- DocumentBuilder parser = fabr.newDocumentBuilder();
- Document dokument = parser.parse("wczytaj.xml");
- Element root = dokument.getDocumentElement();
- NodeList kawa = root.getElementsByTagName("kawa");
- for(int i = 0; i < kawa.getLength(); i++) {
- String rodzaj = ((Element)kawa.item(i)).getAttribute("rodzaj");
- String wielkosc = ((Element)kawa.item(i)).getAttribute("wielkosc");
- float cena = Float.parseFloat(((Element)kawa.item(i)).getAttribute("cena"));
- if(duza.isSelected() == true && wielkosc.equalsIgnoreCase("duza")) {
- Kawa k = new Kawa(rodzaj, wielkosc, cena);
- Object[] dane = new Object[3];
- dane[0] = k.getRodzaj();
- dane[1] = k.getRozmiar();
- dane[2] = k.getCena();
- this.modelTabeli.addRow(dane);
- this.kolekcja.add(k);
- }
- if(srednia.isSelected() == true && wielkosc.equalsIgnoreCase("srednia")) {
- Kawa k = new Kawa(rodzaj, wielkosc, cena);
- Object[] dane = new Object[3];
- dane[0] = k.getRodzaj();
- dane[1] = k.getRozmiar();
- dane[2] = k.getCena();
- this.modelTabeli.addRow(dane);
- this.kolekcja.add(k);
- }
- if(mala.isSelected() == true && wielkosc.equalsIgnoreCase("mala")) {
- Kawa k = new Kawa(rodzaj, wielkosc, cena);
- Object[] dane = new Object[3];
- dane[0] = k.getRodzaj();
- dane[1] = k.getRozmiar();
- dane[2] = k.getCena();
- this.modelTabeli.addRow(dane);
- this.kolekcja.add(k);
- }
- }
- System.out.println("klik");
- }catch (Exception ex) {
- String msg = ex.getMessage();
- if (msg == null) {
- msg = ex.getClass().getName();
- }
- System.out.println("Exception: " + msg);
- }
- }
- private void sqlSave() {
- System.out.println("sql save");
- Connection polaczenie;
- try {
- Class.forName("com.mysql.jdbc.Driver").newInstance();
- polaczenie = DriverManager.getConnection("jdbc:mysql://localhost/Kawka", "root", "");
- Statement instrukcja = polaczenie.createStatement();
- instrukcja.executeUpdate("DELETE FROM KAWA");
- for (Kawa k: kolekcja)
- {
- String sql ="INSERT INTO KAWA SET ";
- sql+="WIELKOSC='"+k.getRozmiar()+"', ";
- sql+="RODZAJ='"+k.getRodzaj()+"', ";
- sql+="CENA='"+k.getCena()+"'";
- System.out.println(sql);
- instrukcja.executeUpdate(sql);
- }
- polaczenie.close();
- }catch(Exception ex) {
- String msg = ex.getMessage();
- if (msg == null) {
- msg = ex.getClass().getName();
- }
- System.out.println("Exception: " + msg);
- }
- }
- private void sqlLoad() {
- Connection polaczenie;
- try {
- Class.forName("com.mysql.jdbc.Driver").newInstance();
- polaczenie = DriverManager.getConnection("jdbc:mysql://localhost/Kawka", "root", "");//TUTAJ POPRAWIC URL
- System.out.println(polaczenie);
- Statement instrukcja = polaczenie.createStatement();
- //ResultSet wynik = instrukcja.executeQuery("SELECT * FROM KAWA");
- ResultSet wynik =instrukcja.executeQuery("SELECT * FROM KAWA");
- if(duza.isSelected() == true) {
- wynik = instrukcja.executeQuery("SELECT * FROM KAWA WHERE WIELKOSC = 'duza'");
- while (wynik.next()) {
- Object[] dane = new Object[3];
- dane[0] = wynik.getObject("RODZAJ");
- dane[1] = wynik.getObject("WIELKOSC");
- dane[2] = wynik.getObject("CENA");
- this.modelTabeli.addRow(dane);
- Kawa k= new Kawa((String)dane[0],(String)dane[1],(float)dane[2]);
- kolekcja.add(k);
- }
- }
- if(srednia.isSelected() == true) {
- wynik = instrukcja.executeQuery("SELECT * FROM KAWA WHERE WIELKOSC = 'srednia'");
- while (wynik.next()) {
- Object[] dane = new Object[3];
- dane[0] = wynik.getObject("RODZAJ");
- dane[1] = wynik.getObject("WIELKOSC");
- dane[2] = wynik.getObject("CENA");
- this.modelTabeli.addRow(dane);
- Kawa k= new Kawa((String)dane[0],(String)dane[1],(float)dane[2]);
- kolekcja.add(k);
- }
- }
- if(mala.isSelected() == true) {
- wynik = instrukcja.executeQuery("SELECT * FROM KAWA WHERE WIELKOSC = 'mala'");
- while (wynik.next()) {
- Object[] dane = new Object[3];
- dane[0] = wynik.getObject("RODZAJ");
- dane[1] = wynik.getObject("WIELKOSC");
- dane[2] = wynik.getObject("CENA");
- this.modelTabeli.addRow(dane);
- Kawa k= new Kawa((String)dane[0],(String)dane[1],(float)dane[2]);
- kolekcja.add(k);
- }
- }
- polaczenie.close();
- }catch(Exception ex) {
- String msg = ex.getMessage();
- if (msg == null) {
- msg = ex.getClass().getName();
- }
- System.out.println("Exception: " + msg);
- }
- }
- }
Add Comment
Please, Sign In to add comment