Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.FlowLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.sql.DriverManager;
- import java.util.Vector;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.JProgressBar;
- import javax.swing.JScrollPane;
- import javax.swing.JSpinner;
- import javax.swing.JTabbedPane;
- import javax.swing.JTable;
- import javax.swing.SpinnerNumberModel;
- import javax.swing.SwingUtilities;
- import javax.swing.border.EmptyBorder;
- import javax.swing.table.DefaultTableModel;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- /**
- *
- * @author user
- */
- public class szorzas2_HU5UJG extends JFrame implements ActionListener {// JFrame osztályból öröklödik a program,
- //az összes metódus és az összes változó öröklődik, ActionListener Interfacet implementálok
- //
- SpinnerNumberModel model1 = new SpinnerNumberModel(5, 0, 40, 1); // a Spinner kezdőérték beállítása
- SpinnerNumberModel model2 = new SpinnerNumberModel(5, 0, 40, 1); //
- private JSpinner spinner = new JSpinner(model1);
- private JSpinner spinner2 = new JSpinner(model2);
- private JLabel lbl1 = new JLabel("<html>Biros Andras<br/>andras@biros.hu</html>");// cimke
- private JButton btnszamitas = new JButton("Szamolas"); // számítás gomb létrehozás
- private JPanel panel = new JPanel(); // panelek létrehoz
- private JPanel panel2 = new JPanel();
- JTabbedPane tabbedpane = new JTabbedPane(); // új Tab nyitás
- JProgressBar progressbar = new JProgressBar(); // folyamatjelző
- DefaultTableModel model = new DefaultTableModel(); // ezen keresztül módosítható a JTable
- JTable table = new JTable(model);
- JScrollPane jsp = new JScrollPane(table); // görgetősáv a táblához
- private JButton btnbetoltes = new JButton("Betöltés állományból");
- private JButton btnkimentes = new JButton("Mentés állományba");
- private JButton btndbbetoltes = new JButton("DB-be nyom");
- private JButton btndbkimentes = new JButton("DB-bő' tőt");
- public szorzas2_HU5UJG() {
- panel2.add(lbl1);
- tabbedpane.add("About", panel2);
- tabbedpane.setBorder(new EmptyBorder(10, 10, 10, 10));
- add(tabbedpane, BorderLayout.NORTH);
- setSize(450, 450); // méret megadás pixelben
- panel.setLayout(new FlowLayout()); // ez jeleníti meg a későbbiekben
- //sorrend szerint megadott tartalmat
- setDefaultCloseOperation(EXIT_ON_CLOSE); // program bezárás
- setLocationRelativeTo(this); // középre kerül az alkalmazás
- panel.add(spinner); // értékléptető gomb
- panel.add(spinner2);
- panel.add(btnszamitas); // műveletgomb
- btnbetoltes.setBackground(Color.GREEN); //
- btnbetoltes.addActionListener(this); // gomblenyomás érzékelő
- btnkimentes.addActionListener(this);
- btnkimentes.setBackground(Color.GREEN);
- btndbbetoltes.addActionListener(this);
- btndbkimentes.addActionListener(this);
- btndbbetoltes.setBackground(Color.yellow);
- btndbkimentes.setBackground(Color.yellow);
- panel.add(btnbetoltes); // hozzáadja a gombot
- panel.add(btnkimentes);
- panel.add(btndbbetoltes);
- panel.add(btndbkimentes);
- panel.add(progressbar);
- model.addColumn("Első szám:"); // táblához az oszlopnevek hozzáad
- model.addColumn("Második szám: ");
- model.addColumn("Eredmény: ");
- // table.setModel(model);
- panel.add(jsp);
- btnszamitas.addActionListener(this);
- add(panel);
- setVisible(true); // láthatóvá teszi a programot
- }
- public static int multiplyNaturals(int First, int Second) {
- return 0; // ez a Tanár által kért feladat, függvény
- }
- public static Connection getConnection() throws Exception { // adatbázis
- //kapcsolat létrehozása
- try {
- String driver = "com.mysql.jdbc.Driver";//db létrehozási paraméterek
- String url = "jdbc:mysql://localhost:3306";
- String username = "root";
- String password = "root";
- Class.forName(driver);
- Connection conn = DriverManager.getConnection(url, username, password);
- System.out.println("Connected");
- return conn;
- } catch (Exception e) { // kivétel hiba lekezelése
- System.out.println(e);
- }
- return null;
- }
- private Vector<String> getColumnNames() {
- Vector<String> columnNames = new Vector<String>();// függvény, ami visszaadja az oszlopok neveit
- for (int i = 0; i < table.getColumnCount(); i++) {
- columnNames.add(table.getColumnName(i));
- }
- return columnNames;
- }
- public static void main(String[] args) {// program belépési pontja, innen indul a program
- szorzas2_HU5UJG szorzat = new szorzas2_HU5UJG();
- }
- @Override // felülbírálja a beépített actionPerformed metódust
- public void actionPerformed(ActionEvent e) { // esemény keletkezik
- if (e.getSource() == btnszamitas) { // a btn számítás gomb lenyomására
- int szam = (int) spinner.getValue();
- int szam2 = (int) spinner2.getValue();
- int eredmeny = szam % szam2; // eredmény kiszámítása
- Thread t = new Thread(new Runnable() {
- @Override
- public void run() {
- try {
- for (int i = 0; i < 10; i++) {
- Thread.sleep(100);
- final int i20 = i * 20;
- SwingUtilities.invokeAndWait(new Runnable() {
- public void run() {
- progressbar.setValue(i20);
- }
- });
- }
- SwingUtilities.invokeAndWait(new Runnable() {
- public void run() {
- JOptionPane.showMessageDialog(null, "Az eredmény: " + eredmeny);
- model.addRow(new Object[]{szam, szam2, eredmeny});
- }
- }
- );
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- t.start(); // ez indítja a szál futását
- }
- if (e.getSource() == btnbetoltes) { // itt töltöm vissza a fájlt
- try {
- ObjectInputStream in = new ObjectInputStream(
- new FileInputStream("test.txt"));
- Vector rowData = (Vector) in.readObject();
- System.out.println(rowData);
- Vector columnNames = (Vector) in.readObject();
- model.setDataVector(rowData, columnNames);
- in.close();
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- if (e.getSource() == btnkimentes) { // itt mentem ki a táblából az adatokat
- try {
- ObjectOutputStream out = new ObjectOutputStream(
- new FileOutputStream("test.txt"));
- out.writeObject(model.getDataVector());
- out.writeObject(getColumnNames());
- out.close();
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- if (e.getSource() == btndbbetoltes) {
- try {
- Connection conn = getConnection();
- } catch (Exception ex) {
- Logger.getLogger(szorzas2_HU5UJG.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- if (e.getSource() == btndbkimentes) {
- Statement stmt = null;
- try {
- try {
- stmt = getConnection().createStatement();
- } catch (Exception ex) {
- Logger.getLogger(szorzas2_HU5UJG.class.getName()).log(Level.SEVERE, null, ex);
- }
- String dbTorolQuery = "delete from szorzas2HU5UJG.dump;";
- stmt.executeUpdate(dbTorolQuery);
- for (int i = 0; i <= model.getRowCount(); i++) {
- String dbBeNyomQuery = "insert into szorzas2HU5UJG.dump (F, S, P) values (" + model.getValueAt(i, 0) + "," + model.getValueAt(i, 1) + "," + model.getValueAt(i, 2) + ");";
- stmt.executeUpdate(dbBeNyomQuery);
- }
- } catch (SQLException ex) {
- Logger.getLogger(szorzas2_HU5UJG.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement