Advertisement
Guest User

Untitled

a guest
Nov 16th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.79 KB | None | 0 0
  1. package guifx;
  2.  
  3. import java.time.LocalDate;
  4.  
  5. import application.controller.Controller;
  6. import application.model.Deltager;
  7. import application.model.Hotel;
  8. import application.model.Miljoekonference;
  9. import javafx.geometry.Insets;
  10. import javafx.scene.Scene;
  11. import javafx.scene.control.Button;
  12. import javafx.scene.control.CheckBox;
  13. import javafx.scene.control.ComboBox;
  14. import javafx.scene.control.Label;
  15. import javafx.scene.control.TextField;
  16. import javafx.scene.layout.GridPane;
  17. import javafx.stage.Modality;
  18. import javafx.stage.Stage;
  19. import javafx.stage.StageStyle;
  20.  
  21. public class TilmeldWindow extends Stage {
  22. private Miljoekonference konference;
  23.  
  24. public TilmeldWindow() {
  25. initStyle(StageStyle.UTILITY);
  26. initModality(Modality.APPLICATION_MODAL);
  27. setResizable(false);
  28.  
  29. setTitle("Tilmelding");
  30. GridPane pane = new GridPane();
  31. initContent(pane); //
  32.  
  33. Scene scene = new Scene(pane);
  34. setScene(scene);
  35. }
  36.  
  37. //-------------------------------------------------
  38. private TextField txfNavn, txfTlfNr, txfAdresse, txfBy, txfLand, txfFirmaNavn, txfFirmaTlf;
  39. private TextField txfLedNavn, txfLedTlfNr, txfLedAdresse, txfLedBy, txfLedLand;
  40. private TextField txfAnkomst, txfAfrejse;
  41. private ComboBox<Deltager> cbbDeltager;
  42. private ComboBox<Miljoekonference> cbbKonference;
  43. private ComboBox<Hotel> cbbHotel;
  44. private CheckBox chbForedragsholder, chbFirma, chbLedsager, chbHotel;
  45. private Button btnVidere, btnTilmeld;
  46. private Label lblError;
  47.  
  48. private void initContent(GridPane pane) {
  49. pane.setPadding(new Insets(10));
  50. pane.setHgap(10);
  51. pane.setVgap(10);
  52. pane.setGridLinesVisible(false);
  53.  
  54. //Deltager informationer
  55. Label lblDeltager = new Label("Deltager information");
  56. pane.add(lblDeltager, 0, 0);
  57. lblDeltager.setUnderline(true);
  58.  
  59. Label lblNavn = new Label("Navn:");
  60. pane.add(lblNavn, 0, 1);
  61.  
  62. txfNavn = new TextField();
  63. pane.add(txfNavn, 1, 1);
  64.  
  65. Label lblTlfNr = new Label ("Telefon nr:");
  66. pane.add(lblTlfNr, 0, 2);
  67.  
  68. txfTlfNr = new TextField();
  69. pane.add(txfTlfNr, 1, 2);
  70.  
  71. Label lblAdresse = new Label("Adresse:");
  72. pane.add(lblAdresse, 0, 3);
  73.  
  74. txfAdresse = new TextField();
  75. pane.add(txfAdresse, 1, 3);
  76.  
  77. Label lblBy = new Label("By:");
  78. pane.add(lblBy, 0, 4);
  79.  
  80. txfBy = new TextField();
  81. pane.add(txfBy, 1, 4);
  82.  
  83. Label lblLand = new Label("Land:");
  84. pane.add(lblLand, 0, 5);
  85.  
  86. txfLand = new TextField();
  87. pane.add(txfLand, 1, 5);
  88.  
  89. Label lblForedragsholder = new Label("Er du foredragsholder?");
  90. pane.add(lblForedragsholder, 0, 6);
  91.  
  92. chbForedragsholder = new CheckBox();
  93. pane.add(chbForedragsholder, 1, 6);
  94.  
  95. // Firma information
  96. Label lblFirma = new Label("Firma ");
  97. pane.add(lblFirma, 2, 0);
  98. lblFirma.setUnderline(true);
  99.  
  100. chbFirma = new CheckBox();
  101. pane.add(chbFirma, 3, 0);
  102. chbFirma.setOnAction(event -> this.selectedFirmaChanged());
  103.  
  104. Label lblFirmaNavn = new Label("Navn:");
  105. pane.add(lblFirmaNavn, 2, 1);
  106.  
  107. txfFirmaNavn = new TextField();
  108. pane.add(txfFirmaNavn, 3, 1);
  109. txfFirmaNavn.setDisable(true);
  110.  
  111. Label lblTlf = new Label("Telefon nr:");
  112. pane.add(lblTlf, 2, 2);
  113.  
  114. txfFirmaTlf = new TextField();
  115. pane.add(txfFirmaTlf, 3, 2);
  116. txfFirmaTlf.setDisable(true);
  117.  
  118. // Ledsager
  119. Label lblLedsager = new Label("Ledsager");
  120. pane.add(lblLedsager, 4, 0);
  121. lblLedsager.setUnderline(true);
  122.  
  123. chbLedsager = new CheckBox();
  124. pane.add(chbLedsager, 5, 0);
  125. chbLedsager.setOnAction(event -> this.selectedLedsagerChanged());
  126.  
  127. Label lblLedNavn = new Label("Navn:");
  128. pane.add(lblLedNavn, 4, 1);
  129.  
  130. txfLedNavn = new TextField();
  131. pane.add(txfLedNavn, 5, 1);
  132. txfLedNavn.setDisable(true);
  133.  
  134. Label lblLedTlfNr = new Label ("Telefon nr:");
  135. pane.add(lblLedTlfNr, 4, 2);
  136.  
  137. txfLedTlfNr = new TextField();
  138. pane.add(txfLedTlfNr, 5, 2);
  139. txfLedTlfNr.setDisable(true);
  140.  
  141. Label lblLedAdresse = new Label("Adresse:");
  142. pane.add(lblLedAdresse, 4, 3);
  143.  
  144. txfLedAdresse = new TextField();
  145. pane.add(txfLedAdresse, 5, 3);
  146. txfLedAdresse.setDisable(true);
  147.  
  148. Label lblLedBy = new Label("By:");
  149. pane.add(lblLedBy, 4, 4);
  150.  
  151. txfLedBy = new TextField();
  152. pane.add(txfLedBy, 5, 4);
  153. txfLedBy.setDisable(true);
  154.  
  155. Label lblLedLand = new Label("Land:");
  156. pane.add(lblLedLand, 4, 5);
  157.  
  158. txfLedLand = new TextField();
  159. pane.add(txfLedLand, 5, 5);
  160. txfLedLand.setDisable(true);
  161.  
  162. // deltager combo
  163. cbbDeltager = new ComboBox<>();
  164. pane.add(cbbDeltager, 1, 0);
  165. cbbDeltager.getItems().setAll(Controller.getDeltagere());
  166. cbbDeltager.setOnAction(event -> this.autoDeltager());
  167.  
  168. // Tilmelding
  169. Label lblKonference = new Label("Konference:");
  170. pane.add(lblKonference, 0, 7);
  171.  
  172. cbbKonference = new ComboBox<>();
  173. pane.add(cbbKonference, 1, 7);
  174. cbbKonference.getItems().setAll(Controller.getMiljoekonferencer());
  175.  
  176. Label lblAnkomst = new Label("Ankomst dato: ");
  177. pane.add(lblAnkomst, 0, 8);
  178.  
  179. txfAnkomst = new TextField();
  180. pane.add(txfAnkomst, 1, 8);
  181. txfAnkomst.setText("YYYY-MM-DD");
  182.  
  183. Label lblAfrejse = new Label("Afrejse dato:");
  184. pane.add(lblAfrejse, 0, 9);
  185.  
  186. txfAfrejse = new TextField();
  187. pane.add(txfAfrejse, 1, 9);
  188. txfAfrejse.setText("YYYY-MM-DD");
  189.  
  190. // Hotellet
  191. Label lblHotel = new Label("Hotel");
  192. pane.add(lblHotel, 6, 0);
  193. lblHotel.setUnderline(true);
  194.  
  195. chbHotel = new CheckBox();
  196. pane.add(chbHotel, 7, 0);
  197. chbHotel.setOnAction(event -> this.selectedHotelChanged());
  198.  
  199. Label lblHotelValg = new Label("Vælg hotel:");
  200. pane.add(lblHotelValg, 6, 1);
  201.  
  202. cbbHotel = new ComboBox<>();
  203. pane.add(cbbHotel, 7, 1);
  204. cbbHotel.setDisable(true);
  205. // cbbHotel.getItems().setAll(Controller.);
  206. // tillæg
  207.  
  208.  
  209. // Udflugter
  210.  
  211.  
  212. // Buttons - btnVidere, btnTilmeld
  213. btnVidere = new Button("Videre");
  214. pane.add(btnVidere, 0, 11);
  215. btnVidere.setPadding(new Insets(10, 10, 10, 10));
  216. btnVidere.setOnAction(event -> this.videreAction());
  217.  
  218. // Error Label
  219. lblError = new Label();
  220. pane.add(lblError, 0, 12);
  221. lblError.setStyle("-fx-text-fill: red");
  222. }
  223.  
  224. private void initControls() {
  225.  
  226. }
  227.  
  228. //--------------------------------------------------------------------------
  229.  
  230. private void videreAction() {
  231. // Deltager
  232. String navn = txfNavn.getText().trim();
  233. if (navn.length() == 0) {
  234. lblError.setText("Navn mangler");
  235. return;
  236. }
  237.  
  238. int tlfNr = Integer.parseInt(txfTlfNr.getText().trim());
  239. //
  240.  
  241. String adresse = txfAdresse.getText().trim();
  242. if (adresse.length() == 0) {
  243. lblError.setText("Adresse mangler");
  244. return;
  245. }
  246.  
  247. String by = txfBy.getText().trim();
  248. if (by.length() == 0) {
  249. lblError.setText("By mangler");
  250. return;
  251. }
  252.  
  253. String land = txfLand.getText().trim();
  254. if (land.length() == 0) {
  255. lblError.setText("Land mangler");
  256. return;
  257. }
  258.  
  259. Boolean foredragsholder = chbForedragsholder.isSelected();
  260.  
  261. Deltager tilmeldDeltager = Controller.createDeltager(navn, tlfNr, adresse, by, land, foredragsholder);
  262.  
  263.  
  264. // Tilmelding
  265. LocalDate ankomstDato = LocalDate.parse(txfAnkomst.getText().trim());
  266. LocalDate afrejseDato = LocalDate.parse(txfAfrejse.getText().trim());
  267.  
  268. Miljoekonference valgtKonference = cbbKonference.getSelectionModel().getSelectedItem();
  269.  
  270. Controller.createTilmelding(ankomstDato, afrejseDato, tilmeldDeltager, valgtKonference);
  271. }
  272.  
  273. //--------------------------------------------------------------------------
  274. //Check box actions
  275.  
  276. private void selectedFirmaChanged() {
  277. if (chbFirma.isSelected()) {
  278. txfFirmaNavn.setDisable(false);
  279. txfFirmaTlf.setDisable(false);
  280. } else {
  281. txfFirmaNavn.setDisable(true);
  282. txfFirmaTlf.setDisable(true);
  283. }
  284. }
  285.  
  286. private void selectedLedsagerChanged() {
  287. if (chbLedsager.isSelected()) {
  288. txfLedNavn.setDisable(false);
  289. txfLedTlfNr.setDisable(false);
  290. txfLedAdresse.setDisable(false);
  291. txfLedBy.setDisable(false);
  292. txfLedLand.setDisable(false);
  293. } else {
  294. txfLedNavn.setDisable(true);
  295. txfLedTlfNr.setDisable(true);
  296. txfLedAdresse.setDisable(true);
  297. txfLedBy.setDisable(true);
  298. txfLedLand.setDisable(true);
  299. }
  300. }
  301.  
  302. private void selectedHotelChanged() {
  303. if (chbHotel.isSelected()) {
  304. cbbHotel.setDisable(false);
  305. } else {
  306. cbbHotel.setDisable(true);
  307. }
  308. }
  309.  
  310. //--------------------------------------------------------------------------
  311.  
  312. private void autoDeltager() {
  313. Deltager oldDeltager = cbbDeltager.getSelectionModel().getSelectedItem();
  314.  
  315. txfNavn.setText(oldDeltager.getNavn());
  316. txfTlfNr.setText(oldDeltager.getTlfNr() + "");
  317. txfAdresse.setText(oldDeltager.getAdresse());
  318. txfBy.setText(oldDeltager.getBy());
  319. txfLand.setText(oldDeltager.getLand());
  320. chbForedragsholder.setSelected(oldDeltager.isForedragsholder());
  321. }
  322. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement