Advertisement
Guest User

Untitled

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