Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package projekt1;
- // Temat 5.
- // W języku Java, utwórz klasę do przechowywania oraz GUI do wprowadzania danych
- // wektorów w przestrzeni dwuwymiarowej (nazwa wektora, współrzędne x oraz y).
- // Projekt -> Properties -> Library -> Add Jar -> JDBC (mysql-connector-java*.jar //XAMPP
- import java.awt.BorderLayout;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.FlowLayout;
- import java.awt.GraphicsConfiguration;
- 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.SQLException;
- import java.sql.Statement;
- import java.util.ArrayList;
- import java.util.Vector;
- import javax.swing.*;
- 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.*;
- public class Projekt1 extends JFrame implements ActionListener {
- JPanel panelGlowny, panelDanych, panelPrzyciskow, panelTabeli;
- JLabel et1, et2, et3;
- DefaultTableModel modelTabeli;
- JTable Tabela;
- JTextField pole1, pole2, pole3;
- JButton przycisk1, przycisk_wczytaj, przycisk_zapisz;
- Container zawartosc;
- ArrayList<Wektor> kolekcja;
- JMenuBar pasek;
- JMenu menu1, menu2;
- JMenuItem op1, op2, op3;
- public Projekt1(GraphicsConfiguration gc) {
- super(gc);
- }
- public Projekt1() {
- super("Aplikacja");
- this.setSize(800, 600);
- this.zawartosc = this.getContentPane();
- this.panelGlowny = new JPanel(new BorderLayout());
- //Tworzenie panelu Danych
- this.panelDanych = new JPanel(new GridLayout(3, 2));
- this.et1 = new JLabel("Nazwa: ");
- this.et2 = new JLabel("x: ");
- this.et3 = new JLabel("y: ");
- this.pole1 = new JTextField();
- pole1.setSize(50, 200);
- this.pole2 = new JTextField();
- this.pole3 = new JTextField();
- this.panelDanych.add(this.et1);
- this.panelDanych.add(this.pole1);
- this.panelDanych.add(this.et2);
- this.panelDanych.add(this.pole2);
- this.panelDanych.add(this.et3);
- this.panelDanych.add(this.pole3);
- this.panelGlowny.add(this.panelDanych, BorderLayout.WEST);
- //tworzenie Menu
- this.pasek = new JMenuBar();
- this.menu1 = new JMenu("Baza Danych");
- this.op1 = new JMenuItem("Wczytaj");
- this.op1.addActionListener(this);
- this.menu1.add(op1);
- this.op2 = new JMenuItem("Opcja 2");
- this.op2.addActionListener(this);
- this.menu1.add(op2);
- this.menu2 = new JMenu("Menu 2");
- this.op3 = new JMenuItem("Opcja 3");
- this.op3.addActionListener(this);
- this.menu2.add(op3);
- this.pasek.add(menu1);
- this.pasek.add(menu2);
- this.setJMenuBar(pasek);
- //tworzenie panelu Przycisków i zawartosci w nim
- this.panelPrzyciskow = new JPanel(new FlowLayout());
- this.przycisk_wczytaj = new JButton("WCZYTAJ");
- this.przycisk_wczytaj.addActionListener(this);
- this.przycisk_zapisz = new JButton("ZAPISZ");
- this.przycisk_zapisz.addActionListener(this);
- this.przycisk1 = new JButton("ENTER");
- this.przycisk1.addActionListener(this);
- this.panelPrzyciskow.add(przycisk_wczytaj);
- this.panelPrzyciskow.add(przycisk_zapisz);
- this.panelPrzyciskow.add(przycisk1);
- this.panelGlowny.add(this.panelPrzyciskow, BorderLayout.SOUTH);
- //tworzenie panelu z tablica
- this.panelTabeli = new JPanel(new BorderLayout());
- this.modelTabeli = new DefaultTableModel();
- this.modelTabeli.addColumn("Nazwa wektora");
- this.modelTabeli.addColumn("Współrzędna x: ");
- this.modelTabeli.addColumn("Współrzędna y: ");
- // this.modelTabeli.addRow(new Vector());
- //this.modelTabeli.addRow(new Vector());
- this.Tabela = new JTable(this.modelTabeli);
- this.panelTabeli.add(new JScrollPane(this.Tabela), BorderLayout.NORTH);
- // this.panelTabeli.add(this.Tabela, BorderLayout.CENTER);
- this.panelGlowny.add(this.panelTabeli, BorderLayout.CENTER);
- this.zawartosc.add(this.panelGlowny);
- this.setDefaultCloseOperation(EXIT_ON_CLOSE);
- this.setVisible(true);
- kolekcja = new ArrayList<Wektor>();
- }
- public static void main(String[] args) {
- Projekt1 projekt1 = new Projekt1();
- }
- @Override
- public void actionPerformed(ActionEvent e) {
- if (e.getActionCommand().equals("Wczytaj")) {
- Connection polaczenie;
- try {
- Class.forName("com.mysql.jdbc.Driver").newInstance();
- polaczenie = DriverManager.getConnection("jdbc:mysql://localhost/wektory1", "root", "");
- System.out.println(polaczenie);
- Statement instrukcja = polaczenie.createStatement();
- ResultSet wynik = instrukcja.executeQuery("SELECT * FROM wektory");
- while (wynik.next()) {
- Object[] dane = new Object[3];
- dane[0] = wynik.getObject("Nazwa");
- dane[1] = wynik.getObject("x");
- dane[2] = wynik.getObject("y");
- this.modelTabeli.addRow(dane);
- }
- polaczenie.close();
- } catch (InstantiationException ex) {
- ex.printStackTrace();
- } catch (IllegalAccessException ex) {
- ex.printStackTrace();
- } catch (ClassNotFoundException ex) {
- ex.printStackTrace();
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- }
- if (e.getActionCommand().equals("Opcja 2")) {
- }
- if (e.getActionCommand().equals("Opcja 3")) {
- }
- if (e.getActionCommand().equals("ENTER")) {
- Wektor w = new Wektor(this.pole1.getText(),
- Integer.parseInt(this.pole2.getText()),
- Integer.parseInt(this.pole3.getText()));
- kolekcja.add(w);
- Object[] dane = new Object[3];
- dane[0] = w.getNazwa();
- dane[1] = w.getX();
- dane[2] = w.getY();
- this.modelTabeli.addRow(dane);
- }
- if (e.getActionCommand().equals("WCZYTAJ")) {
- try {
- DocumentBuilderFactory fabr = DocumentBuilderFactory.newInstance();
- DocumentBuilder parser = fabr.newDocumentBuilder();
- Document dokument = parser.parse("C:\\Users\\student.INFORMATYKA\\Desktop\\test.xml");
- Element root = dokument.getDocumentElement();
- NodeList wektory = root.getElementsByTagName("wektor");
- for (int i = 0; i < wektory.getLength(); i++) {
- String nazwa = ((Element) wektory.item(i)).getAttribute("nazwa");
- int x = Integer.parseInt(((Element) wektory.item(i)).getAttribute("x"));
- int y = Integer.parseInt(((Element) wektory.item(i)).getAttribute("y"));
- Wektor w = new Wektor(nazwa, x, y);
- kolekcja.add(w);
- Object[] dane = new Object[3];
- dane[0] = w.getNazwa();
- dane[1] = w.getX();
- dane[2] = w.getY();
- this.modelTabeli.addRow(dane);
- }
- } catch (Exception ex) {
- }
- }
- if (e.getActionCommand().equals("ZAPISZ")) {
- try {
- DocumentBuilderFactory fabr = DocumentBuilderFactory.newInstance();
- DocumentBuilder parser = fabr.newDocumentBuilder();
- Document dokument = parser.newDocument();
- Element root = dokument.createElement("wektory");
- dokument.appendChild(root);
- for (Wektor wektor : kolekcja) {
- Element k = dokument.createElement("wektor");
- k.setAttribute("nazwa", wektor.getNazwa());
- k.setAttribute("x", String.valueOf(wektor.getX()));
- k.setAttribute("y", String.valueOf(wektor.getY()));
- root.appendChild(k);
- }
- Transformer przekszt = TransformerFactory.newInstance().newTransformer();
- Source zrodlo = new DOMSource(dokument);
- Result wyjscie = new StreamResult("C:\\Users\\student.INFORMATYKA\\Desktop\\test1.xml");
- przekszt.transform(zrodlo, wyjscie);
- } catch (Exception ex) {
- System.out.println("Wyjatek");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement