Advertisement
Guest User

Untitled

a guest
Nov 28th, 2014
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.53 KB | None | 0 0
  1. package gui;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. import storage.Storage;
  6. import model.Tilmelding;
  7. import javafx.beans.value.ChangeListener;
  8. import javafx.geometry.Insets;
  9. import javafx.geometry.Pos;
  10. import javafx.scene.control.Button;
  11. import javafx.scene.control.CheckBox;
  12. import javafx.scene.control.Label;
  13. import javafx.scene.control.ListView;
  14. import javafx.scene.control.TextField;
  15. import javafx.scene.layout.GridPane;
  16. import javafx.scene.layout.HBox;
  17.  
  18. public class DeltagerPane extends GridPane {
  19. private Label lblNavn1 = new Label("Navn: "), lblAdr1 = new Label(
  20. "Adresse: "), lblTlf1 = new Label("Tlf. nr.: "),
  21. lblLedsager1 = new Label("Ledsager: "), lblFirma1 = new Label(
  22. "Firma: "), lblForedragsholder1 = new Label(
  23. "Foredragsholder: "), lblAnkomstDato1 = new Label(
  24. "Ankomst Dato: "), lblAfrejseDato1 = new Label(
  25. "Afrejse Dato: "), lblHotel1 = new Label("Hotel: "),
  26. lblHotelTillaeg1 = new Label("Hotel tillæg: "),
  27. lblUdflugter1 = new Label("Udflugter: ");
  28.  
  29. private Label lblNavn2 = new Label(), lblAdr2 = new Label(),
  30. lblTlf2 = new Label(), lblLedsager2 = new Label(),
  31. lblFirma2 = new Label(), lblForedragsholder2 = new Label(),
  32. lblAnkomstDato2 = new Label(), lblAfrejseDato2 = new Label(),
  33. lblHotel2 = new Label(), lblHotelTillaeg2 = new Label(),
  34. lblUdflugter2 = new Label();
  35.  
  36. private Label[] lblList1 = new Label[] { lblNavn1, lblAdr1, lblTlf1,
  37. lblLedsager1, lblFirma1, lblForedragsholder1, lblHotel1,
  38. lblAnkomstDato1, lblAfrejseDato1, lblHotelTillaeg1, lblUdflugter1 };
  39. private Label[] lblList2 = new Label[] { lblNavn2, lblAdr2, lblTlf2,
  40. lblLedsager2, lblFirma2, lblForedragsholder2, lblHotel2,
  41. lblAnkomstDato2, lblAfrejseDato2, lblHotelTillaeg2, lblUdflugter2 };
  42.  
  43. private Label lblTilmeldte1 = new Label("Tilmeldte: ");
  44.  
  45. private ListView<Tilmelding> lvwDeltagere = new ListView<>();
  46.  
  47. public DeltagerPane() {
  48. this.setPadding(new Insets(20));
  49. this.setHgap(20);
  50. this.setVgap(10);
  51. this.setGridLinesVisible(false);
  52.  
  53. // left column
  54. Label lblDeltagere = new Label("Deltagere");
  55. this.add(lblDeltagere, 0, 0, 1, 1);
  56.  
  57. this.add(lvwDeltagere, 0, 1, 1, 1);
  58. lvwDeltagere.setPrefHeight(200);
  59. lvwDeltagere.setPrefWidth(250);
  60. lvwDeltagere.getItems().setAll(this.getDeltagere());
  61.  
  62. this.add(lblTilmeldte1, 0, 2, 1, 1);
  63.  
  64. ChangeListener<Tilmelding> listener = (ov, oldKonference, newKonference) -> this
  65. .selectedDeltagerChanged();
  66. lvwDeltagere.getSelectionModel().selectedItemProperty()
  67. .addListener(listener);
  68.  
  69. // right column
  70. GridPane rightColumn = new GridPane();
  71.  
  72. rightColumn.setHgap(20);
  73. rightColumn.setVgap(5);
  74. this.add(rightColumn, 1, 1, 1, 1);
  75.  
  76. for (int i = 0; i < lblList1.length; i++) {
  77. rightColumn.add(lblList1[i], 0, i);
  78. }
  79.  
  80. for (int i = 0; i < lblList2.length; i++) {
  81. rightColumn.add(lblList2[i], 1, i);
  82. }
  83. HBox hbxButtons = new HBox(40);
  84. this.add(hbxButtons, 0, 4, 3, 1);
  85. hbxButtons.setPadding(new Insets(10, 0, 0, 0));
  86. hbxButtons.setAlignment(Pos.BASELINE_CENTER);
  87.  
  88. Button btnCreate = new Button("Create");
  89. hbxButtons.getChildren().add(btnCreate);
  90. btnCreate.setOnAction(event -> this.createAction());
  91.  
  92. Button btnUpdate = new Button("Update");
  93. hbxButtons.getChildren().add(btnUpdate);
  94. btnUpdate.setOnAction(event -> this.updateAction());
  95.  
  96. Button btnDelete = new Button("Delete");
  97. hbxButtons.getChildren().add(btnDelete);
  98. btnDelete.setOnAction(event -> this.deleteAction());
  99.  
  100. this.initControl();
  101. }
  102.  
  103. private Object deleteAction() {
  104. // TODO Auto-generated method stub
  105. return null;
  106. }
  107.  
  108. private void updateAction() {
  109.  
  110. Tilmelding tilmelding = lvwDeltagere.getSelectionModel()
  111. .getSelectedItem();
  112. if (tilmelding == null)
  113. return;
  114.  
  115. DeltagerDialog dia = new DeltagerDialog("Update Deltager", tilmelding);
  116. dia.showAndWait();
  117.  
  118. // Wait for the modal dialog to close
  119.  
  120. int selectIndex = lvwDeltagere.getSelectionModel().getSelectedIndex();
  121. lvwDeltagere.getItems().setAll(this.getDeltagere());
  122. lvwDeltagere.getSelectionModel().select(selectIndex);
  123. }
  124.  
  125. private void createAction() {
  126. {
  127. DeltagerDialog dia = new DeltagerDialog("Opret Tilmelding");
  128. dia.showAndWait();
  129.  
  130. // Wait for the modal dialog to close
  131.  
  132. lvwDeltagere.getItems().setAll(Storage.getTilmeldinger());
  133. int index = lvwDeltagere.getItems().size() - 1;
  134. lvwDeltagere.getSelectionModel().select(index);
  135. }
  136. }
  137.  
  138. // Methods
  139. private void initControl() {
  140. lvwDeltagere.getSelectionModel().select(0);
  141. lblTilmeldte1.setText("Tilmeldte: "
  142. + String.valueOf(Gui.getSelectedKonference().getTilmeldinger()
  143. .size()));
  144.  
  145. this.updateControls();
  146. }
  147.  
  148. public void tabSwitch() {
  149. lvwDeltagere.getItems().setAll(getDeltagere());
  150. lblTilmeldte1.setText("Tilmeldte: "
  151. + String.valueOf(Gui.getSelectedKonference().getTilmeldinger()
  152. .size()));
  153. }
  154.  
  155. private ArrayList<Tilmelding> getDeltagere() {
  156. ArrayList<Tilmelding> deltagere = new ArrayList<>();
  157.  
  158. for (Tilmelding tilmelding : Gui.getSelectedKonference()
  159. .getTilmeldinger()) {
  160. deltagere.add(tilmelding);
  161. }
  162.  
  163. return deltagere;
  164. }
  165.  
  166. private void selectedDeltagerChanged() {
  167. this.updateControls();
  168. }
  169.  
  170. private void updateControls() {
  171. Tilmelding tilmelding = lvwDeltagere.getSelectionModel()
  172. .getSelectedItem();
  173.  
  174. if (tilmelding != null) {
  175. lblNavn2.setText(tilmelding.getDeltager().getNavn());
  176. lblAdr2.setText(tilmelding.getDeltager().getAdresse());
  177. lblTlf2.setText(tilmelding.getDeltager().getTlfNr());
  178. if (tilmelding.getDeltager().getLedsager() != null) {
  179. lblLedsager2.setText(tilmelding.getDeltager().getLedsager()
  180. .toString());
  181. } else {
  182. lblLedsager2.setText("Ingen ledsager");
  183. }
  184.  
  185. if (tilmelding.getDeltager().getFirma() != null) {
  186. lblFirma2.setText(tilmelding.getDeltager().getFirma()
  187. .toString());
  188. } else {
  189. lblFirma2.setText("Intet firma");
  190. }
  191.  
  192. if (tilmelding.isForedragsholder()) {
  193. lblForedragsholder2.setText("Ja");
  194. } else {
  195. lblForedragsholder2.setText("Nej");
  196. }
  197.  
  198. if (tilmelding.getHotel() != null) {
  199. lblHotel2.setText(tilmelding.getHotel().toString());
  200. lblAnkomstDato2.setText(String.valueOf(tilmelding
  201. .getAnkomstdato()));
  202. lblAfrejseDato2.setText(String.valueOf(tilmelding
  203. .getAfrejsedato()));
  204.  
  205. if (tilmelding.isTillaegHotel()) {
  206. lblHotelTillaeg2.setText("Ja");
  207. } else {
  208. lblHotelTillaeg2.setText("Nej");
  209. }
  210. } else {
  211. lblHotel2.setText("");
  212. lblAnkomstDato2.setText("");
  213. lblAfrejseDato2.setText("");
  214. lblHotelTillaeg2.setText("");
  215. }
  216.  
  217. if (tilmelding.getUdflugter() != null
  218. && tilmelding.getUdflugter().size() > 0) {
  219. String tempUdflugter = "";
  220.  
  221. for (int i = 0; i < tilmelding.getUdflugter().size(); i++) {
  222. if (i == 0) {
  223. tempUdflugter += tilmelding.getUdflugter().get(i)
  224. .toString();
  225. } else {
  226. tempUdflugter += ", "
  227. + tilmelding.getUdflugter().get(i).toString();
  228. }
  229. }
  230.  
  231. lblUdflugter2.setText(tempUdflugter);
  232. } else {
  233. lblUdflugter2.setText("");
  234. }
  235.  
  236. } else {
  237. lblNavn2.setText("");
  238. lblAdr2.setText("");
  239. lblTlf2.setText("");
  240. lblLedsager2.setText("");
  241. lblFirma2.setText("");
  242. lblForedragsholder2.setText("");
  243. lblHotel2.setText("");
  244. lblAnkomstDato2.setText("");
  245. lblAfrejseDato2.setText("");
  246. lblHotelTillaeg2.setText("");
  247. lblHotel2.setText("");
  248. lblAnkomstDato2.setText("");
  249. lblAfrejseDato2.setText("");
  250. lblHotelTillaeg2.setText("");
  251. lblUdflugter2.setText("");
  252. }
  253.  
  254. }
  255. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement