Advertisement
Guest User

Untitled

a guest
Dec 2nd, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.38 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package nl.hva.hboict.fys;
  7.  
  8. import java.sql.*;
  9. import java.util.ArrayList;
  10. import java.util.List;
  11. import java.util.Stack;
  12.  
  13. import javafx.application.Application;
  14. import static javafx.application.Application.launch;
  15.  
  16. import javafx.beans.property.ReadOnlyStringWrapper;
  17. import javafx.beans.value.ChangeListener;
  18. import javafx.beans.value.ObservableValue;
  19. import javafx.collections.FXCollections;
  20. import javafx.event.ActionEvent;
  21. import javafx.event.EventHandler;
  22. import javafx.geometry.HPos;
  23. import javafx.geometry.Insets;
  24. import javafx.geometry.Pos;
  25. import javafx.geometry.VPos;
  26. import javafx.scene.Scene;
  27. import javafx.scene.control.*;
  28. import javafx.scene.layout.*;
  29. import javafx.stage.Stage;
  30. import javafx.scene.text.Font;
  31. import javafx.scene.text.Text;
  32. import nl.hva.hboict.sql.DataRow;
  33. import nl.hva.hboict.sql.DataTable;
  34.  
  35. /**
  36. *
  37. * @author Boris Kalshoven
  38. */
  39. public class EventHandlers extends Application {
  40.  
  41. Scene scene1, scene2;
  42. Stage thestage;
  43. Button btVbrv;
  44.  
  45. private static TableView<DataRow> createJavaFXReadOnlyDataTableView(DataTable dt) {
  46. TableView<DataRow> tv = new TableView<>();
  47. tv.setPrefWidth(5000);
  48.  
  49. // define a JavaFX TableColumn for every column in the DataTable
  50. for (int c = 0; c < dt.getNColumns(); c++) {
  51. TableColumn<DataRow, String> tc = new TableColumn(dt.getColumnName(c));
  52. tc.setStyle("-fx-alignment: CENTER;");
  53. tc.setResizable(true);
  54. final int colIndex = c;
  55.  
  56. // configure the Cell Value generator
  57. tc.setCellValueFactory(data -> {
  58. DataRow dr = data.getValue();
  59. String cellValue;
  60. cellValue = dr.getString(colIndex);
  61. return new ReadOnlyStringWrapper(cellValue);
  62. });
  63. tv.getColumns().add(tc);
  64. }
  65.  
  66. // Add all Data Table data to the TableView
  67. for (int i = 0; i < dt.size(); i++) {
  68. tv.getItems().add(dt.get(i));
  69. }
  70.  
  71. // align the view with the boundaries of the container
  72. tv.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
  73. //tv.setColumnResizePolicy((param) -> true);
  74.  
  75. return tv;
  76. }
  77.  
  78. private static Region pagina2(Button btVbrv) {
  79. VBox inrichting = new VBox();
  80. inrichting.setAlignment(Pos.TOP_RIGHT);
  81.  
  82. //hbox bovenin de grid
  83. HBox bar = new HBox();
  84. bar.setAlignment(Pos.TOP_RIGHT);
  85. bar.setSpacing(15);
  86. bar.setPadding(new Insets(5, 10, 10, 10));
  87.  
  88. //hbox text "Corendon"
  89. HBox textCorendon = new HBox();
  90. textCorendon.setAlignment(Pos.TOP_LEFT);
  91. textCorendon.setSpacing(15);
  92. textCorendon.setPadding(new Insets(15, 10, 10, 15));
  93.  
  94. //hbox drop down menu
  95. HBox invoer = new HBox();
  96. invoer.setAlignment(Pos.TOP_RIGHT);
  97. invoer.setPadding(new Insets(10, 10, 10, 10));
  98. invoer.setSpacing(15);
  99.  
  100. //hbox voor button voeg toe
  101. HBox add = new HBox();
  102. add.setAlignment(Pos.TOP_RIGHT);
  103. add.setPadding(new Insets(10, 10, 0, 0));
  104. add.setSpacing(30);
  105.  
  106. //hbox voor ingevoerde gegevens
  107. HBox kenmerken = new HBox();
  108. kenmerken.setAlignment(Pos.TOP_RIGHT);
  109. kenmerken.setPadding(new Insets(10, 10, 10, 10));
  110. kenmerken.setSpacing(15);
  111.  
  112. HBox toevoegen = new HBox();
  113. toevoegen.setAlignment(Pos.TOP_RIGHT);
  114. toevoegen.setSpacing(15);
  115. toevoegen.setPadding(new Insets(5, 10, 10, 10));
  116.  
  117. //button1
  118. Button btn = new Button();
  119. btn.setText("Vermiste bagage registreren/verwijderen");
  120. btn.setMaxSize(140, 60);
  121. btn.setWrapText(true);
  122. return inrichting;
  123. }
  124.  
  125. /*
  126. Pas dit aan!! Lennard
  127. */
  128. @Override
  129. public void start(Stage primaryStage) {
  130. example(primaryStage);
  131. }
  132.  
  133. public void start2(Stage primaryStage) {
  134.  
  135. thestage = primaryStage;
  136.  
  137. //Login Pagina
  138. Button btnL = new Button("Login");
  139. TextField txtL = new TextField("Username");
  140. PasswordField passL = new PasswordField();
  141. HBox buttonBar = new HBox(btnL, txtL, passL);
  142. //eerste pagina
  143. StackPane mainArea = new StackPane();
  144.  
  145. /*
  146. Lennard
  147. */
  148.  
  149. GridPane pane = new GridPane();
  150. pane.add(buttonBar, 0, 0);
  151. pane.setPrefHeight(400);
  152. pane.setPrefWidth(600);
  153. pane.setPadding(new Insets(10, 10, 10, 250));
  154. pane.setHgap(10);
  155. pane.setVgap(10);
  156. pane.add(mainArea, 0, 1);
  157.  
  158. //text and labels
  159. Label label1 = new Label("koffers");
  160. label1.setPrefWidth(130);
  161. TextField text = new TextField();
  162.  
  163. GridPane.setConstraints(label1, 0, 1);
  164. GridPane.setConstraints(text, 1, 1);
  165.  
  166. Label label2 = new Label("kleur");
  167. TextField text2 = new TextField();
  168.  
  169. GridPane.setConstraints(label2, 0, 2);
  170. GridPane.setConstraints(text2, 1, 2);
  171.  
  172. Label label3 = new Label("formaat");
  173. TextField text3 = new TextField();
  174. GridPane.setConstraints(label3, 0, 3);
  175. GridPane.setConstraints(text3, 1, 3);
  176.  
  177. Label label4 = new Label("gewicht");
  178. TextField text4 = new TextField();
  179. GridPane.setConstraints(label4, 0, 4);
  180. GridPane.setConstraints(text4, 1, 4);
  181.  
  182. Label label5 = new Label("merk");
  183. TextField text5 = new TextField();
  184. GridPane.setConstraints(label5, 0, 5);
  185. GridPane.setConstraints(text5, 1, 5);
  186.  
  187. //zoek button
  188. Button btZoeken = new Button("Zoeken");
  189. GridPane.setConstraints(btZoeken, 1, 7, 1, 1, HPos.CENTER, VPos.BASELINE);
  190.  
  191. //repatrieer button
  192. Button btRepatrieer = new Button("Repatrieer");
  193. GridPane.setConstraints(btRepatrieer, 1, 7, 1, 1, HPos.CENTER, VPos.BASELINE);
  194.  
  195. btVbrv = new Button("Vermiste koffers registreren");
  196. btVbrv.setPadding(new Insets(0));
  197.  
  198. //Gevonden checkbox
  199. CheckBox cb1 = new CheckBox("Gevonden");
  200. GridPane.setConstraints(cb1, 0, 6);
  201. //Vermiste checkbox
  202. CheckBox cb2 = new CheckBox("Vermist");
  203. GridPane.setConstraints(cb2, 1, 6);
  204.  
  205. //action voor button registreerKoffer
  206. //Leannard's commentaar
  207. btZoeken.setOnAction(new EventHandler<ActionEvent>() {
  208.  
  209. @Override
  210. public void handle(ActionEvent event) {
  211. boolean selected1 = cb1.isSelected();
  212. boolean selected2 = cb2.isSelected();
  213.  
  214. String query = "SELECT * FROM eenDatabase.tabel";
  215.  
  216. List<String> conditions = new ArrayList<>();
  217.  
  218. if (selected1) {
  219. conditions.add("gevonden = 1");
  220. }
  221.  
  222. if (selected2) {
  223. conditions.add("verloren = 1");
  224. }
  225.  
  226. //TODO: more querystuff
  227. //conditions
  228. if (conditions.size() > 0) {
  229. query += " WHERE ";
  230. }
  231.  
  232. for (int i = 0; i < conditions.size() - 1; i++) {
  233. query += conditions.get(i) + " AND ";
  234. }
  235.  
  236. if (conditions.size() - 1 >= 0) {
  237. query += conditions.get(conditions.size() - 1);
  238. }
  239.  
  240. System.out.println(query);
  241.  
  242. //database.doQuery(query);
  243. }
  244. });
  245.  
  246. /*
  247. pas dit aan!!
  248. */
  249. btVbrv.setOnAction(e -> ButtonClicked(e));
  250.  
  251. /*
  252.  
  253. Tweede pagina is jouw code!!
  254. */
  255. //tweede pagina
  256. VBox inrichting = new VBox();
  257. inrichting.setAlignment(Pos.TOP_RIGHT);
  258.  
  259. //hbox bovenin de grid
  260. HBox bar = new HBox();
  261. bar.setAlignment(Pos.TOP_RIGHT);
  262. bar.setSpacing(15);
  263. bar.setPadding(new Insets(5, 10, 10, 10));
  264.  
  265. //hbox text "Corendon"
  266. HBox textCorendon = new HBox();
  267. textCorendon.setAlignment(Pos.TOP_LEFT);
  268. textCorendon.setSpacing(15);
  269. textCorendon.setPadding(new Insets(15, 10, 10, 15));
  270.  
  271. //hbox drop down menu
  272. HBox invoer = new HBox();
  273. invoer.setAlignment(Pos.TOP_RIGHT);
  274. invoer.setPadding(new Insets(10, 10, 10, 10));
  275. invoer.setSpacing(15);
  276.  
  277. //hbox voor button voeg toe
  278. HBox add = new HBox();
  279. add.setAlignment(Pos.TOP_RIGHT);
  280. add.setPadding(new Insets(10, 10, 0, 0));
  281. add.setSpacing(30);
  282.  
  283. //hbox voor ingevoerde gegevens
  284. HBox kenmerken = new HBox();
  285. kenmerken.setAlignment(Pos.TOP_RIGHT);
  286. kenmerken.setPadding(new Insets(10, 10, 10, 10));
  287. kenmerken.setSpacing(15);
  288.  
  289. HBox toevoegen = new HBox();
  290. toevoegen.setAlignment(Pos.TOP_RIGHT);
  291. toevoegen.setSpacing(15);
  292. toevoegen.setPadding(new Insets(5, 10, 10, 10));
  293.  
  294. //button1
  295. Button btn = new Button();
  296. btn.setText("Vermiste bagage registreren/verwijderen");
  297. btn.setMaxSize(140, 60);
  298. btn.setWrapText(true);
  299.  
  300. //button acties
  301. /*
  302.  
  303. Pas dit aan!!
  304.  
  305. */
  306. btn.setOnAction(e -> ButtonClicked(e));
  307.  
  308. //button 2
  309. Button btn2 = new Button();
  310. btn2.setText("Gevonden bagage registreren/verwijderen");
  311. btn2.setMaxSize(140, 60);
  312. btn2.setWrapText(true);
  313.  
  314. //button2 acties
  315. btn2.setOnAction(new EventHandler<ActionEvent>() {
  316.  
  317. @Override
  318. public void handle(ActionEvent event) {
  319. System.out.println("");
  320. }
  321. });
  322.  
  323. //lennard
  324.  
  325. //button3
  326. Button btn3 = new Button();
  327. btn3.setText("Voeg toe");
  328. btn3.setMaxSize(2500, 60);
  329.  
  330. //button 4
  331. Button btn4 = new Button();
  332. btn4.setText("Toevoegen");
  333. btn4.setMaxSize(140, 60);
  334.  
  335. //button 5
  336. Button btn5 = new Button();
  337. btn5.setText("Verwijderen");
  338. btn5.setMaxSize(140, 60);
  339.  
  340. //text "Corendon"
  341. Text t = new Text("Corendon");
  342. t.setFont(new Font(20));
  343.  
  344. //menu
  345. ChoiceBox cb = new ChoiceBox(FXCollections.observableArrayList(
  346. "Kleur",
  347. "Gewicht",
  348. "Lengte",
  349. "Breedte",
  350. "Label Nr.",
  351. "Locatie")
  352. );
  353. /*
  354. cb.setPrefWidth(140);
  355. cb.setMaxWidth(140);
  356. */
  357. Label label = new Label();
  358. //TextField y = new TextField();
  359.  
  360. final String[] keuze = new String[]{"Kleur", "Gewicht", "Lengte", "Breedte", "Label Nr.", "Locatie"};
  361.  
  362. cb.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
  363. public void changed(ObservableValue ov, Number value, Number new_value) {
  364. label.setText(keuze[new_value.intValue()]);
  365. //y.setText(keuze[new_value.intValue()]);
  366.  
  367. }
  368. }
  369. );
  370.  
  371. //invoer van tekst
  372. TextField textField = new TextField();
  373. textField.setMaxWidth(140);
  374.  
  375. //display van tekst
  376. TextArea j = new TextArea();
  377. j.setPrefSize(240, 120);
  378. j.setEditable(false);
  379.  
  380. /*
  381. label.textProperty().bind(test);
  382. */
  383. btn3.setOnAction(new EventHandler<ActionEvent>() {
  384.  
  385. @Override
  386. public void handle(ActionEvent event) {
  387. if (textField.getText().trim().isEmpty() == false && label.getText().trim().isEmpty() == false) {
  388. String test = " ";
  389. test = j.getText();
  390. j.setText(test + label.getText() + " - " + textField.getText() + " \n");
  391. textField.clear();
  392. }
  393. }
  394. });
  395.  
  396. //root
  397. StackPane root = new StackPane();
  398. root.getChildren().addAll(text, inrichting);
  399. inrichting.getChildren().addAll(bar, invoer, add, kenmerken, toevoegen);
  400.  
  401. //bar
  402. bar.getChildren().addAll(btn, btn2);
  403.  
  404. //text
  405. textCorendon.getChildren().add(t);
  406.  
  407. //invoer
  408. invoer.getChildren().addAll(cb, textField);
  409.  
  410. //add
  411. add.getChildren().addAll(btn3);
  412.  
  413. //kenmerken
  414. kenmerken.getChildren().add(j);
  415.  
  416. //toevoegen
  417. toevoegen.getChildren().addAll(btn4, btn5);
  418.  
  419. //scene 1 en 2
  420. pane.getChildren().addAll(label1, text, label2, text2, label3, text3,
  421. label4, text4, label5, text5, btZoeken, cb1, cb2, btVbrv);
  422. pane.setGridLinesVisible(false);
  423. scene1 = new Scene(pane);
  424. scene2 = new Scene(root, 600, 400);
  425. primaryStage.setTitle("EventHandlers");
  426. primaryStage.setScene(scene1);
  427. primaryStage.show();
  428.  
  429. }
  430.  
  431. /*
  432.  
  433. pas dit aan!!
  434.  
  435. */
  436. public void ButtonClicked(ActionEvent e) {
  437. if (e.getSource() == btVbrv) {
  438. thestage.setScene(scene2);
  439. } else {
  440. thestage.setScene(scene1);
  441. }
  442. }
  443.  
  444. /*
  445. Button btnE, btnC, btnS, btnL;
  446. StackPane mainArea = new StackPane();
  447. Label txtL,passL;
  448.  
  449. btnL.setOnAction(new EventHandler<ActionEvent>() {
  450. @Override
  451. public void handle(ActionEvent event) {
  452. String user = txtL.getText();
  453. String pass = passL.getText();
  454. try {
  455. Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
  456. Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myairline", "root", "handig123");
  457. Statement stmt = con.createStatement();
  458. String sql = "Select * from user WHERE username ='" + user + "' and password ='" + pass + "'";
  459. ResultSet rs = stmt.executeQuery(sql);
  460. while (rs.next()) {
  461. if (user.equals(rs.getString("username"))) {
  462. if (pass.equals(rs.getString("password"))) {
  463. mainArea.getChildren().clear();
  464. mainArea.getChildren().add(createJavaFXReadOnlyDataTableView(airportData));
  465. btnE.setVisible(true);
  466. btnC.setVisible(false);
  467. btnS.setVisible(false);
  468. buttonList.setVisible(true);
  469. txtL.setVisible(false);
  470. passL.setVisible(false);
  471.  
  472. } else {
  473. alert.showAndWait();
  474. }
  475. } else {
  476. alert.showAndWait();
  477. }
  478. stmt.close();
  479. con.close();
  480. }
  481.  
  482.  
  483. } catch (ClassNotFoundException e) {
  484. e.printStackTrace();
  485. } catch (SQLException e) {
  486. e.printStackTrace();
  487. }
  488. }
  489. });
  490.  
  491. */
  492. /**
  493. * @param args the command line arguments
  494. */
  495. public static void main(String[] args) {
  496. launch(args);
  497. }
  498.  
  499. private BorderPane root;
  500.  
  501. public void example(Stage primaryStage) {
  502. root = new BorderPane();
  503.  
  504. switchScreen(createLogin());
  505.  
  506. primaryStage.setTitle("EventHandlers");
  507. primaryStage.setScene(new Scene(root, 600, 400));
  508. primaryStage.show();
  509. }
  510.  
  511. private void switchScreen(Pane screen) {
  512. root.setCenter(screen);
  513. }
  514.  
  515. public Pane createLogin() {
  516. GridPane gridPane = new GridPane();
  517.  
  518. Button login = new Button("Login!");
  519. login.setOnAction(new EventHandler<ActionEvent>() {
  520.  
  521. @Override
  522. public void handle(ActionEvent event) {
  523. switchScreen(createOverview());
  524. }
  525. });
  526.  
  527. gridPane.add(new Label("Login!"), 0, 0);
  528. gridPane.add(login, 0, 1);
  529.  
  530. return gridPane;
  531. }
  532.  
  533. public Pane createOverview() {
  534. GridPane gridPane = new GridPane();
  535.  
  536. Button logout = new Button("Logout!");
  537. logout.setOnAction(new EventHandler<ActionEvent>() {
  538.  
  539. @Override
  540. public void handle(ActionEvent event) {
  541. switchScreen(createLogin());
  542. }
  543. });
  544.  
  545. gridPane.add(new Label("Overview!"), 0, 0);
  546. gridPane.add(logout, 0, 1);
  547.  
  548. return gridPane;
  549. }
  550. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement