Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.49 KB | None | 0 0
  1. package com.company;
  2.  
  3. import javax.swing.*;
  4. import javax.swing.event.TableModelEvent;
  5. import javax.swing.table.DefaultTableModel;
  6. import java.awt.*;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9. import java.sql.*;
  10. import java.text.DateFormat;
  11. import java.text.ParseException;
  12. import java.text.SimpleDateFormat;
  13. import java.time.LocalDate;
  14. import java.time.format.DateTimeFormatter;
  15. import java.util.ArrayList;
  16. import java.util.Date;
  17. import java.util.SimpleTimeZone;
  18. import java.util.Vector;
  19. import java.sql.Statement;
  20. import java.sql.Connection;
  21. import java.sql.DriverManager;
  22. import java.sql.ResultSet;
  23. import java.sql.ResultSetMetaData;
  24.  
  25. public class Speler extends JFrame {
  26.  
  27. //Connect to database and database statements
  28. Connection connection = DriverManager.getConnection("jdbc:mysql://meru.hhs.nl/18106986", "18106986", "hahghie7bi");
  29.  
  30.  
  31. //Statements
  32. private PreparedStatement veiligeUpdate = null;
  33. private Statement st;
  34. private ResultSet rs = null;
  35. private String s;
  36.  
  37. //Table requirements
  38. private ResultSetMetaData rsmt;
  39. private int c;
  40. private Vector column;
  41. private Vector row;
  42. private Vector data;
  43.  
  44. //private frame settings
  45. private JPanel panelLabel;
  46. private JPanel panelTextField;
  47. private JPanel panelButton;
  48. private JPanel panelTable;
  49. private JPanel border;
  50. private JPanel panelDelete;
  51.  
  52. //Labels
  53. private JLabel labelNaam;
  54. private JLabel labelAdres;
  55. private JLabel labelPostcode;
  56. private JLabel labelWoonplaats;
  57. private JLabel labelTel;
  58. private JLabel labelMail;
  59. private JLabel labelGeboortedatum;
  60. private JLabel labelGeslacht;
  61. private JLabel labelSpelerCode;
  62. private JLabel labelverplicht;
  63. private JLabel labelZoek;
  64.  
  65. //Textfield
  66. private JTextField textFieldNaam;
  67. private JTextField textFieldAdres;
  68. private JTextField textFieldPostcode;
  69. private JTextField textFieldWoonplaats;
  70. private JTextField textFieldTel;
  71. private JTextField textFieldMail;
  72. private JTextField textFieldGeboortedatum;
  73. private JTextField textFieldGeslacht;
  74. private JTextField textFieldSpelerCode;
  75. private JTextField textFieldZoek;
  76.  
  77. //Buttons
  78. private JButton buttonTerug;
  79. private JButton button1Delete;
  80. private JButton buttonOpslaan;
  81. private JButton buttonUpdate;
  82. private JButton refresh;
  83. private JButton buttonZoek;
  84.  
  85. //ScrollPane
  86. private JScrollPane jsp;
  87.  
  88. //Table
  89. private JTable table;
  90.  
  91. //Constructor
  92. public Speler () throws SQLException {
  93.  
  94. //Frame settings
  95. setExtendedState(JFrame.MAXIMIZED_BOTH);
  96. setTitle("Speler");
  97. setDefaultCloseOperation(EXIT_ON_CLOSE);
  98. createComponents();
  99. createTable();
  100. opslaan();
  101. wijzig();
  102. verwijder();
  103. Refresh();
  104. Terug();
  105. Zoek();
  106. setVisible(true);
  107. }
  108.  
  109. public void createComponents () {
  110.  
  111. //Panel create
  112. panelLabel = new JPanel();
  113. panelTextField = new JPanel();
  114. panelButton = new JPanel();
  115. panelTable = new JPanel();
  116. panelDelete = new JPanel();
  117. border = new JPanel();
  118.  
  119. //PanelLabel
  120. labelNaam = new JLabel("Naam");
  121. labelAdres = new JLabel("Adres");
  122. labelPostcode = new JLabel("Postcode");
  123. labelWoonplaats = new JLabel("Woonplaats");
  124. labelTel = new JLabel("Telefoonnummer");
  125. labelMail = new JLabel("eMail");
  126. labelGeboortedatum = new JLabel("Geboortedatum");
  127. labelGeslacht = new JLabel("Geslacht");
  128. labelSpelerCode = new JLabel("Speler code");
  129. labelverplicht = new JLabel("**Alle velden invullen is verplicht**");
  130. labelZoek = new JLabel("Zoek");
  131.  
  132. //label is added to label panel
  133. panelLabel.setLayout(new GridLayout(11, 1));
  134. panelLabel.add(labelNaam);
  135. panelLabel.add(labelAdres);
  136. panelLabel.add(labelPostcode);
  137. panelLabel.add(labelWoonplaats);
  138. panelLabel.add(labelTel);
  139. panelLabel.add(labelMail);
  140. panelLabel.add(labelGeboortedatum);
  141. panelLabel.add(labelGeslacht);
  142. panelLabel.add(labelZoek);
  143. panelLabel.add(labelverplicht);
  144.  
  145. //TextField creation
  146. textFieldNaam = new JTextField();
  147. textFieldAdres = new JTextField();
  148. textFieldPostcode = new JTextField();
  149. textFieldWoonplaats = new JTextField();
  150. textFieldTel = new JTextField();
  151. textFieldMail = new JTextField();
  152. textFieldGeboortedatum = new JTextField();
  153. textFieldGeslacht = new JTextField();
  154. textFieldSpelerCode = new JTextField();
  155. textFieldZoek = new JTextField();
  156.  
  157. //paneltextfield toevoegen
  158. panelTextField.add(textFieldNaam);
  159. panelTextField.add(textFieldAdres);
  160. panelTextField.add(textFieldPostcode);
  161. panelTextField.add(textFieldWoonplaats);
  162. panelTextField.add(textFieldTel);
  163. panelTextField.add(textFieldMail);
  164. panelTextField.add(textFieldGeboortedatum);
  165. panelTextField.add(textFieldGeslacht);
  166. panelTextField.add(textFieldZoek);
  167.  
  168. //textfieldlayout is set
  169. panelTextField.setLayout(new GridLayout(11, 1));
  170.  
  171. //button creation
  172. buttonTerug = new JButton("Terug");
  173. button1Delete = new JButton("Delete");
  174. buttonUpdate = new JButton("Wijzig");
  175. buttonOpslaan = new JButton("Opslaan");
  176. refresh = new JButton("Refresh");
  177. buttonZoek = new JButton("Zoek");
  178.  
  179. //Panel button adding the buttons
  180. panelButton.add(buttonTerug);
  181. panelButton.add(buttonOpslaan);
  182. panelButton.add(buttonUpdate);
  183. panelButton.add(refresh);
  184. panelButton.add(buttonZoek);
  185.  
  186. //button layout set
  187. panelButton.setLayout(new GridLayout(1, 4));
  188.  
  189. //panel delete
  190. panelDelete.add(button1Delete);
  191. panelDelete.add(textFieldSpelerCode);
  192.  
  193. //panelDelete.add(button1Delete);
  194.  
  195. //layout panel delete
  196. panelDelete.setLayout(new GridLayout(3, 1));
  197.  
  198. //Borders adding the panels
  199. border.setLayout(new BorderLayout());
  200. border.add(panelLabel, BorderLayout.WEST);
  201. border.add(panelTextField, BorderLayout.CENTER);
  202. border.add(panelButton, BorderLayout.EAST);
  203. border.add(panelTable, BorderLayout.SOUTH);
  204. border.add(panelDelete, BorderLayout.NORTH);
  205.  
  206. //Add border to frame
  207. add(border);
  208.  
  209. }
  210.  
  211. public void Refresh(){
  212. refresh.addActionListener(new ActionListener() {
  213. @Override
  214. public void actionPerformed(ActionEvent e) {
  215. setVisible(false);
  216. try {
  217. new Speler();
  218. } catch (SQLException ex) {
  219. ex.printStackTrace();
  220. }
  221. }
  222. });
  223. }
  224. public void Zoek(){
  225. buttonZoek.addActionListener(new ActionListener() {
  226. @Override
  227. public void actionPerformed(ActionEvent e) {
  228. try{
  229.  
  230. veiligeUpdate = connection.prepareStatement("select * from speler where spelerCode=?");
  231.  
  232. veiligeUpdate.setString(1,textFieldSpelerCode.getText());
  233. rs=veiligeUpdate.executeQuery();
  234. if(rs.next()){
  235. String add1 = rs.getString("naam");
  236. textFieldNaam.setText(add1);
  237. String add2 = rs.getString("adres");
  238. textFieldAdres.setText(add2);
  239. String add3 = rs.getString("postcode");
  240. textFieldPostcode.setText(add3);
  241. String add4 = rs.getString("woonplaats");
  242. textFieldWoonplaats.setText(add4);
  243. String add5 = rs.getString("telefoonnummer");
  244. textFieldTel.setText(add5);
  245. String add6 = rs.getString("email");
  246. textFieldMail.setText(add6);
  247. String add7 = rs.getString("geboortedatum");
  248. textFieldGeboortedatum.setText(add7);
  249. String add8 = rs.getString("geslacht");
  250. textFieldGeslacht.setText(add8);
  251. }
  252.  
  253.  
  254.  
  255. }
  256. catch(Exception e1){
  257. JOptionPane.showMessageDialog(null,e1);
  258.  
  259.  
  260. }
  261. }
  262. });
  263.  
  264. }
  265.  
  266. public void Terug(){
  267. buttonTerug.addActionListener(new ActionListener() {
  268. @Override
  269. public void actionPerformed(ActionEvent e) {
  270. setVisible(false);
  271. new Keuzebord();
  272. }
  273. });
  274. }
  275.  
  276. // public int datumControle () throws SQLException, ParseException {
  277. // String pattern = "yyyy/MM/dd";
  278. // SimpleDateFormat format = new SimpleDateFormat(pattern);
  279. // Date date = format.parse(textFieldGeboortedatum.getText());
  280. // try {
  281. // if (date >) {
  282. // veiligeUpdate.setString(7, textFieldGeboortedatum.getText());
  283. // }
  284. // } catch (Exception e) {
  285. // JOptionPane.showMessageDialog(null, "De speler is niet 18 jaar oud");
  286. // }
  287. // return datum;
  288. // }
  289.  
  290. LocalDate lc = new LocalDate();
  291.  
  292. public void opslaan() throws SQLException {
  293.  
  294. buttonOpslaan.addActionListener(new ActionListener() {
  295.  
  296. int id = autoIncrementable();
  297. // int date = datumControle();
  298.  
  299. public void actionPerformed(ActionEvent e) {
  300. try {
  301. veiligeUpdate = connection.prepareStatement(
  302. "INSERT INTO speler (spelercode, naam, adres, postcode, woonplaats, telefoonnummer, email, geboortedatum, geslacht) " +
  303. " VALUES (" + id + ", ?, ?, ?, ?, ?, ?, ?, ?);");
  304. } catch (SQLException ex) {
  305. ex.printStackTrace();
  306. }
  307. try {
  308.  
  309. veiligeUpdate.setString(1, textFieldNaam.getText());
  310. veiligeUpdate.setString(2, textFieldAdres.getText());
  311. veiligeUpdate.setString(3, textFieldPostcode.getText());
  312. veiligeUpdate.setString(4, textFieldWoonplaats.getText());
  313. veiligeUpdate.setString(5, textFieldTel.getText());
  314. veiligeUpdate.setString(6, textFieldMail.getText());
  315. veiligeUpdate.setString(8, textFieldGeslacht.getText());
  316.  
  317. } catch (SQLException ex) {
  318. ex.printStackTrace();
  319. }
  320. try {
  321. veiligeUpdate.executeUpdate();
  322.  
  323. } catch (SQLException ex) {
  324. ex.printStackTrace();
  325. }
  326. }
  327. });
  328. }
  329.  
  330. public void verwijder() {
  331. button1Delete.addActionListener(new ActionListener() {
  332. @Override
  333. public void actionPerformed(ActionEvent e) {
  334. try {
  335. veiligeUpdate = connection.prepareStatement("DELETE FROM speler WHERE spelerCode = ?");
  336. } catch (SQLException ex) {
  337. ex.printStackTrace();
  338. }
  339. try {
  340. veiligeUpdate.setString(1, textFieldSpelerCode.getText());
  341. } catch (SQLException ex) {
  342. ex.printStackTrace();
  343. }
  344. try {
  345. veiligeUpdate.executeUpdate();
  346. } catch (SQLException ex) {
  347. ex.printStackTrace();
  348. }
  349. }
  350. });
  351. }
  352.  
  353. public void wijzig() {
  354.  
  355. buttonUpdate.addActionListener(new ActionListener() {
  356. @Override
  357. public void actionPerformed(ActionEvent e) {
  358. try {
  359. veiligeUpdate = connection.prepareStatement(
  360. "UPDATE speler set naam=?, adres=?, postcode=?, woonplaats=?, telefoonnummer=?, email=?, geboortedatum=?, geslacht=? WHERE spelercode=?");
  361. } catch (SQLException ex) {
  362. ex.printStackTrace();
  363. }
  364. try {
  365.  
  366.  
  367. veiligeUpdate.setString(1, textFieldNaam.getText());
  368. veiligeUpdate.setString(2, textFieldAdres.getText());
  369. veiligeUpdate.setString(3, textFieldPostcode.getText());
  370. veiligeUpdate.setString(4, textFieldWoonplaats.getText());
  371. veiligeUpdate.setString(5, textFieldTel.getText());
  372. veiligeUpdate.setString(6, textFieldMail.getText());
  373. veiligeUpdate.setString(7, textFieldGeboortedatum.getText());
  374. veiligeUpdate.setString(8, textFieldGeslacht.getText());
  375. veiligeUpdate.setString(9, textFieldSpelerCode.getText());
  376.  
  377. } catch (SQLException ex) {
  378. ex.printStackTrace();
  379. }
  380. try {
  381. veiligeUpdate.executeUpdate();
  382.  
  383. } catch (SQLException ex) {
  384. ex.printStackTrace();
  385. }
  386. }
  387.  
  388. });
  389. }
  390.  
  391. public int autoIncrementable () throws SQLException {
  392.  
  393. int id = 1;
  394.  
  395. try {
  396. veiligeUpdate = connection.prepareStatement("select max(spelercode) from speler");
  397. rs = veiligeUpdate.executeQuery();
  398. while (rs.next()) {
  399. id = rs.getInt(1)+1;
  400. }
  401. } catch (Exception ex) {
  402. JOptionPane.showMessageDialog(null, "ERROR");
  403. }
  404. finally {
  405. try {
  406.  
  407. } catch (Exception ex) {
  408. veiligeUpdate.close();
  409. rs.close();
  410. connection.close();
  411. }
  412. }
  413. return id;
  414. }
  415.  
  416. public void createTable() {
  417.  
  418. try {
  419. st = connection.createStatement();
  420. s = "select * from speler";
  421. rs = st.executeQuery(s);
  422. rsmt = rs.getMetaData();
  423. c = rsmt.getColumnCount();
  424. column = new Vector(c);
  425. for (int i = 1; i <= c; i++) {
  426. column.add(rsmt.getColumnName(i));
  427. }
  428. data = new Vector();
  429. row = new Vector();
  430. while (rs.next()) {
  431. row = new Vector(c);
  432. for (int i = 1; i <= c; i++) {
  433. row.add(rs.getString(i));
  434. }
  435. data.add(row);
  436. }
  437.  
  438. table = new JTable(data, column);
  439. jsp = new JScrollPane(table);
  440. panelTable.setLayout(new BorderLayout());
  441. panelTable.add(jsp, BorderLayout.SOUTH);
  442.  
  443. } catch (Exception e) {
  444. JOptionPane.showMessageDialog(null, "ERROR");
  445. } finally {
  446. try {
  447. rs.close();
  448. } catch (Exception e) {
  449. JOptionPane.showMessageDialog(null, "ERROR CLOSE");
  450. }
  451. }
  452. }
  453. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement