Advertisement
Guest User

Untitled

a guest
Jun 4th, 2018
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.46 KB | None | 0 0
  1.  
  2. import java.awt.BorderLayout;
  3. import java.awt.Color;
  4. import java.awt.FlowLayout;
  5.  
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8. import java.io.FileInputStream;
  9.  
  10. import java.io.FileOutputStream;
  11.  
  12. import java.io.ObjectInputStream;
  13. import java.io.ObjectOutputStream;
  14.  
  15. import java.sql.DriverManager;
  16. import java.util.Vector;
  17. import javax.swing.JButton;
  18. import javax.swing.JFrame;
  19. import javax.swing.JLabel;
  20. import javax.swing.JOptionPane;
  21. import javax.swing.JPanel;
  22. import javax.swing.JProgressBar;
  23. import javax.swing.JScrollPane;
  24. import javax.swing.JSpinner;
  25.  
  26. import javax.swing.JTabbedPane;
  27.  
  28. import javax.swing.JTable;
  29. import javax.swing.SpinnerNumberModel;
  30. import javax.swing.SwingUtilities;
  31. import javax.swing.border.EmptyBorder;
  32.  
  33. import javax.swing.table.DefaultTableModel;
  34.  
  35. import java.sql.Connection;
  36. import java.sql.PreparedStatement;
  37. import java.sql.SQLException;
  38.  
  39. import java.sql.Statement;
  40. import java.util.logging.Level;
  41.  
  42. import java.util.logging.Logger;
  43.  
  44. /*
  45. * To change this license header, choose License Headers in Project Properties.
  46. * To change this template file, choose Tools | Templates
  47. * and open the template in the editor.
  48. */
  49. /**
  50. *
  51. * @author user
  52. */
  53. public class szorzas2_HU5UJG extends JFrame implements ActionListener {// JFrame osztályból öröklödik a program,
  54. //az összes metódus és az összes változó öröklődik, ActionListener Interfacet implementálok
  55. //
  56.  
  57. SpinnerNumberModel model1 = new SpinnerNumberModel(5, 0, 40, 1); // a Spinner kezdőérték beállítása
  58. SpinnerNumberModel model2 = new SpinnerNumberModel(5, 0, 40, 1); //
  59. private JSpinner spinner = new JSpinner(model1);
  60. private JSpinner spinner2 = new JSpinner(model2);
  61.  
  62. private JLabel lbl1 = new JLabel("<html>Biros Andras<br/>andras@biros.hu</html>");// cimke
  63.  
  64. private JButton btnszamitas = new JButton("Szamolas"); // számítás gomb létrehozás
  65.  
  66. private JPanel panel = new JPanel(); // panelek létrehoz
  67. private JPanel panel2 = new JPanel();
  68.  
  69. JTabbedPane tabbedpane = new JTabbedPane(); // új Tab nyitás
  70. JProgressBar progressbar = new JProgressBar(); // folyamatjelző
  71. DefaultTableModel model = new DefaultTableModel(); // ezen keresztül módosítható a JTable
  72. JTable table = new JTable(model);
  73. JScrollPane jsp = new JScrollPane(table); // görgetősáv a táblához
  74. private JButton btnbetoltes = new JButton("Betöltés állományból");
  75. private JButton btnkimentes = new JButton("Mentés állományba");
  76. private JButton btndbbetoltes = new JButton("DB-be nyom");
  77.  
  78. private JButton btndbkimentes = new JButton("DB-bő' tőt");
  79.  
  80. public szorzas2_HU5UJG() {
  81.  
  82. panel2.add(lbl1);
  83. tabbedpane.add("About", panel2);
  84. tabbedpane.setBorder(new EmptyBorder(10, 10, 10, 10));
  85.  
  86. add(tabbedpane, BorderLayout.NORTH);
  87. setSize(450, 450); // méret megadás pixelben
  88. panel.setLayout(new FlowLayout()); // ez jeleníti meg a későbbiekben
  89. //sorrend szerint megadott tartalmat
  90. setDefaultCloseOperation(EXIT_ON_CLOSE); // program bezárás
  91. setLocationRelativeTo(this); // középre kerül az alkalmazás
  92. panel.add(spinner); // értékléptető gomb
  93. panel.add(spinner2);
  94. panel.add(btnszamitas); // műveletgomb
  95. btnbetoltes.setBackground(Color.GREEN); //
  96. btnbetoltes.addActionListener(this); // gomblenyomás érzékelő
  97. btnkimentes.addActionListener(this);
  98. btnkimentes.setBackground(Color.GREEN);
  99. btndbbetoltes.addActionListener(this);
  100. btndbkimentes.addActionListener(this);
  101. btndbbetoltes.setBackground(Color.yellow);
  102. btndbkimentes.setBackground(Color.yellow);
  103.  
  104. panel.add(btnbetoltes); // hozzáadja a gombot
  105. panel.add(btnkimentes);
  106. panel.add(btndbbetoltes);
  107. panel.add(btndbkimentes);
  108. panel.add(progressbar);
  109.  
  110. model.addColumn("Első szám:"); // táblához az oszlopnevek hozzáad
  111. model.addColumn("Második szám: ");
  112. model.addColumn("Eredmény: ");
  113. // table.setModel(model);
  114. panel.add(jsp);
  115. btnszamitas.addActionListener(this);
  116. add(panel);
  117. setVisible(true); // láthatóvá teszi a programot
  118. }
  119.  
  120. public static int multiplyNaturals(int First, int Second) {
  121.  
  122. return 0; // ez a Tanár által kért feladat, függvény
  123. }
  124.  
  125. public static Connection getConnection() throws Exception { // adatbázis
  126. //kapcsolat létrehozása
  127. try {
  128. String driver = "com.mysql.jdbc.Driver";//db létrehozási paraméterek
  129. String url = "jdbc:mysql://localhost:3306";
  130. String username = "root";
  131. String password = "root";
  132. Class.forName(driver);
  133.  
  134. Connection conn = DriverManager.getConnection(url, username, password);
  135. System.out.println("Connected");
  136. return conn;
  137. } catch (Exception e) { // kivétel hiba lekezelése
  138. System.out.println(e);
  139. }
  140. return null;
  141. }
  142.  
  143.  
  144.  
  145. private Vector<String> getColumnNames() {
  146. Vector<String> columnNames = new Vector<String>();// függvény, ami visszaadja az oszlopok neveit
  147. for (int i = 0; i < table.getColumnCount(); i++) {
  148. columnNames.add(table.getColumnName(i));
  149. }
  150. return columnNames;
  151. }
  152.  
  153. public static void main(String[] args) {// program belépési pontja, innen indul a program
  154. szorzas2_HU5UJG szorzat = new szorzas2_HU5UJG();
  155. }
  156.  
  157. @Override // felülbírálja a beépített actionPerformed metódust
  158. public void actionPerformed(ActionEvent e) { // esemény keletkezik
  159. if (e.getSource() == btnszamitas) { // a btn számítás gomb lenyomására
  160. int szam = (int) spinner.getValue();
  161. int szam2 = (int) spinner2.getValue();
  162. int eredmeny = szam % szam2; // eredmény kiszámítása
  163.  
  164. Thread t = new Thread(new Runnable() {
  165. @Override
  166. public void run() {
  167. try {
  168. for (int i = 0; i < 10; i++) {
  169. Thread.sleep(100);
  170. final int i20 = i * 20;
  171. SwingUtilities.invokeAndWait(new Runnable() {
  172. public void run() {
  173. progressbar.setValue(i20);
  174.  
  175. }
  176. });
  177. }
  178.  
  179. SwingUtilities.invokeAndWait(new Runnable() {
  180.  
  181. public void run() {
  182. JOptionPane.showMessageDialog(null, "Az eredmény: " + eredmeny);
  183. model.addRow(new Object[]{szam, szam2, eredmeny});
  184. }
  185.  
  186. }
  187. );
  188. } catch (Exception e) {
  189. e.printStackTrace();
  190. }
  191. }
  192.  
  193. });
  194. t.start(); // ez indítja a szál futását
  195.  
  196. }
  197. if (e.getSource() == btnbetoltes) { // itt töltöm vissza a fájlt
  198. try {
  199. ObjectInputStream in = new ObjectInputStream(
  200. new FileInputStream("test.txt"));
  201. Vector rowData = (Vector) in.readObject();
  202. System.out.println(rowData);
  203. Vector columnNames = (Vector) in.readObject();
  204. model.setDataVector(rowData, columnNames);
  205.  
  206. in.close();
  207. } catch (Exception ex) {
  208. ex.printStackTrace();
  209.  
  210. }
  211. }
  212.  
  213. if (e.getSource() == btnkimentes) { // itt mentem ki a táblából az adatokat
  214.  
  215. try {
  216. ObjectOutputStream out = new ObjectOutputStream(
  217. new FileOutputStream("test.txt"));
  218. out.writeObject(model.getDataVector());
  219. out.writeObject(getColumnNames());
  220. out.close();
  221. } catch (Exception ex) {
  222. ex.printStackTrace();
  223. }
  224.  
  225. }
  226. if (e.getSource() == btndbbetoltes) {
  227. try {
  228. Connection conn = getConnection();
  229.  
  230. } catch (Exception ex) {
  231. Logger.getLogger(szorzas2_HU5UJG.class.getName()).log(Level.SEVERE, null, ex);
  232. }
  233.  
  234. }
  235. if (e.getSource() == btndbkimentes) {
  236.  
  237. Statement stmt = null;
  238. try {
  239. try {
  240. stmt = getConnection().createStatement();
  241. } catch (Exception ex) {
  242. Logger.getLogger(szorzas2_HU5UJG.class.getName()).log(Level.SEVERE, null, ex);
  243. }
  244. String dbTorolQuery = "delete from szorzas2HU5UJG.dump;";
  245. stmt.executeUpdate(dbTorolQuery);
  246. for (int i = 0; i <= model.getRowCount(); i++) {
  247. String dbBeNyomQuery = "insert into szorzas2HU5UJG.dump (F, S, P) values (" + model.getValueAt(i, 0) + "," + model.getValueAt(i, 1) + "," + model.getValueAt(i, 2) + ");";
  248. stmt.executeUpdate(dbBeNyomQuery);
  249. }
  250.  
  251. } catch (SQLException ex) {
  252. Logger.getLogger(szorzas2_HU5UJG.class.getName()).log(Level.SEVERE, null, ex);
  253.  
  254. }
  255.  
  256. }
  257. }
  258. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement