Advertisement
Guest User

Untitled

a guest
Mar 7th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.15 KB | None | 0 0
  1. package GUIMedlem;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8.  
  9. import javafx.collections.ListChangeListener;
  10. import javafx.collections.ObservableList;
  11. import javafx.geometry.Insets;
  12. import javafx.scene.control.Button;
  13. import javafx.scene.control.Label;
  14. import javafx.scene.control.TableColumn;
  15. import javafx.scene.control.TableView;
  16. import javafx.scene.control.TextField;
  17. import javafx.scene.control.cell.PropertyValueFactory;
  18. import javafx.scene.layout.GridPane;
  19. import javafx.scene.text.Font;
  20.  
  21. public class TilmeldingsPane extends GridPane {
  22.  
  23. private Button btnHent, btnHentHold;
  24. private Button btnTilmeld, btnFrameld;
  25.  
  26. private final Label lblTextMedlem, lblId, lblNavn, lblAdresse, lblTelefon;
  27. private final Label lblTextOverSigt, lblUge, lblDag;
  28. private final Label lblTextTilmeldte;
  29.  
  30. private TextField txfId, txfNavn, txfAdresse, txfTelefon;
  31. private TextField txfUge, txfDag;
  32.  
  33. private TableView<Hold> tableHold = new TableView<Hold>();
  34. // private final ObservableList<Hold> dataHold =
  35. // FXCollections.observableArrayList();
  36.  
  37. private TableView<Hold> tableTilmeldteHold = new TableView<Hold>();
  38. // private final ObservableList<Hold> tilmeldteHold =
  39. // FXCollections.observableArrayList();
  40.  
  41. @SuppressWarnings("unchecked")
  42. public TilmeldingsPane() {
  43.  
  44. setPadding(new Insets(20));
  45. setHgap(20);
  46. setVgap(10);
  47. setGridLinesVisible(false);
  48.  
  49. lblTextMedlem = new Label("Indtast medlems id for log in");
  50. lblTextMedlem.setFont(Font.font("Verdana", 14));
  51. this.add(lblTextMedlem, 0, 0, 2, 1);
  52.  
  53. lblId = new Label("Id:");
  54. this.add(lblId, 0, 1);
  55.  
  56. lblNavn = new Label("Navn:");
  57. lblNavn.setPrefWidth(100);
  58. this.add(lblNavn, 0, 2);
  59.  
  60. lblAdresse = new Label("Adresse:");
  61. this.add(lblAdresse, 0, 3);
  62.  
  63. lblTelefon = new Label("Telefonnummer:");
  64. this.add(lblTelefon, 0, 4);
  65.  
  66. txfId = new TextField();
  67. txfId.setPrefWidth(150);
  68. txfId.setEditable(true);
  69. this.add(txfId, 1, 1);
  70.  
  71. txfNavn = new TextField();
  72. txfNavn.setPrefWidth(150);
  73. txfNavn.setEditable(true);
  74. this.add(txfNavn, 1, 2);
  75.  
  76. txfAdresse = new TextField();
  77. txfAdresse.setPrefWidth(150);
  78. txfAdresse.setEditable(true);
  79. this.add(txfAdresse, 1, 3);
  80.  
  81. txfTelefon = new TextField();
  82. txfTelefon.setPrefWidth(150);
  83. txfTelefon.setEditable(true);
  84. this.add(txfTelefon, 1, 4);
  85.  
  86. btnHent = new Button("Hent");
  87. this.add(btnHent, 0, 5);
  88. btnHent.setOnAction(event -> hentMedlem());
  89.  
  90. lblTextOverSigt = new Label("Holdoversigt");
  91. lblTextOverSigt.setFont(Font.font("Verdana", 14));
  92. this.add(lblTextOverSigt, 3, 0);
  93.  
  94. lblUge = new Label("Uge:");
  95. this.add(lblUge, 3, 1);
  96.  
  97. lblDag = new Label("Dag:");
  98. this.add(lblDag, 3, 2);
  99.  
  100. txfUge = new TextField();
  101. txfUge.setPrefWidth(150);
  102. txfUge.setEditable(true);
  103. this.add(txfUge, 4, 1);
  104.  
  105. txfDag = new TextField();
  106. txfDag.setPrefWidth(150);
  107. txfDag.setEditable(true);
  108. this.add(txfDag, 4, 2);
  109.  
  110. btnHentHold = new Button("Hent");
  111. this.add(btnHentHold, 3, 3);
  112. btnHentHold.setOnAction(event -> hentHold());
  113.  
  114. TableColumn<Hold, String> startCol = new TableColumn<Hold, String>("Starttid");
  115. startCol.setMinWidth(80);
  116. startCol.setCellValueFactory(new PropertyValueFactory<Hold, String>("startTid"));
  117.  
  118. TableColumn<Hold, String> navnCol = new TableColumn<Hold, String>("Navn");
  119. navnCol.setMinWidth(90);
  120. navnCol.setCellValueFactory(new PropertyValueFactory<Hold, String>("navn"));
  121.  
  122. TableColumn<Hold, String> varighedCol = new TableColumn<Hold, String>("Varighed");
  123. varighedCol.setMinWidth(80);
  124. varighedCol.setCellValueFactory(new PropertyValueFactory<Hold, String>("varighed"));
  125.  
  126. TableColumn<Hold, String> salCol = new TableColumn<Hold, String>("Sal");
  127. salCol.setMinWidth(80);
  128. salCol.setCellValueFactory(new PropertyValueFactory<Hold, String>("sal"));
  129.  
  130. TableColumn<Hold, String> instruktorCol = new TableColumn<Hold, String>("Instruktor");
  131. instruktorCol.setMinWidth(110);
  132. instruktorCol.setCellValueFactory(new PropertyValueFactory<Hold, String>("instruktor"));
  133.  
  134. TableColumn<Hold, String> maxAntalCol = new TableColumn<Hold, String>("Maks. Antal");
  135. maxAntalCol.setMinWidth(80);
  136. maxAntalCol.setCellValueFactory(new PropertyValueFactory<Hold, String>("maxAntal"));
  137.  
  138. TableColumn<Hold, String> aktuelleAntalCol = new TableColumn<Hold, String>("Tilmeldte");
  139. aktuelleAntalCol.setMinWidth(80);
  140. aktuelleAntalCol.setCellValueFactory(new PropertyValueFactory<Hold, String>("aktuelleAntal"));
  141.  
  142. this.add(tableHold, 3, 4, 3, 6);
  143. tableHold.getColumns().addAll(startCol, navnCol, varighedCol, salCol, instruktorCol, maxAntalCol,
  144. aktuelleAntalCol);
  145.  
  146. tableHold.getSelectionModel().setCellSelectionEnabled(true);
  147. ObservableList selectedCells = tableHold.getSelectionModel().getSelectedCells();
  148.  
  149. selectedCells.addListener(new ListChangeListener() {
  150. @Override
  151. public void onChanged(Change c) {
  152.  
  153. if (tableHold.getSelectionModel().getSelectedItem() != null) {
  154. Hold hold = tableHold.getSelectionModel().getSelectedItem();
  155. System.out.println(hold.getId());
  156. }
  157.  
  158. }
  159. });
  160.  
  161. btnTilmeld = new Button("Tilmeld");
  162. this.add(btnTilmeld, 3, 11);
  163. btnTilmeld.setOnAction(event -> tilmeldHold());
  164.  
  165. lblTextTilmeldte = new Label("Tilmeldte Hold");
  166. lblTextTilmeldte.setFont(Font.font("Verdana", 14));
  167. this.add(lblTextTilmeldte, 7, 0);
  168.  
  169. TableColumn<Hold, String> ugeCol = new TableColumn<Hold, String>("Uge");
  170. ugeCol.setMinWidth(70);
  171. ugeCol.setCellValueFactory(new PropertyValueFactory<Hold, String>("uge"));
  172.  
  173. TableColumn<Hold, String> dagCol = new TableColumn<Hold, String>("Dag");
  174. dagCol.setMinWidth(90);
  175. dagCol.setCellValueFactory(new PropertyValueFactory<Hold, String>("dag"));
  176.  
  177. TableColumn<Hold, String> startTilCol = new TableColumn<Hold, String>("Starttid");
  178. startTilCol.setMinWidth(80);
  179. startTilCol.setCellValueFactory(new PropertyValueFactory<Hold, String>("startTid"));
  180.  
  181. TableColumn<Hold, String> navnTilCol = new TableColumn<Hold, String>("Navn");
  182. navnTilCol.setMinWidth(90);
  183. navnTilCol.setCellValueFactory(new PropertyValueFactory<Hold, String>("navn"));
  184.  
  185. TableColumn<Hold, String> varighedTilCol = new TableColumn<Hold, String>("Varighed");
  186. varighedTilCol.setMinWidth(80);
  187. varighedTilCol.setCellValueFactory(new PropertyValueFactory<Hold, String>("varighed"));
  188.  
  189. TableColumn<Hold, String> salTilCol = new TableColumn<Hold, String>("Sal");
  190. salTilCol.setMinWidth(80);
  191. salTilCol.setCellValueFactory(new PropertyValueFactory<Hold, String>("sal"));
  192.  
  193. TableColumn<Hold, String> instruktorTilCol = new TableColumn<Hold, String>("Instruktor");
  194. instruktorTilCol.setMinWidth(110);
  195. instruktorTilCol.setCellValueFactory(new PropertyValueFactory<Hold, String>("instruktor"));
  196.  
  197. this.add(tableTilmeldteHold, 7, 4, 1, 6);
  198. tableTilmeldteHold.getColumns().addAll(ugeCol, dagCol, startTilCol, navnTilCol, varighedTilCol, salTilCol,
  199. instruktorTilCol);
  200. tableTilmeldteHold.getSelectionModel().setCellSelectionEnabled(true);
  201. ObservableList selectedCellsTilmelding = tableTilmeldteHold.getSelectionModel().getSelectedCells();
  202.  
  203. selectedCellsTilmelding.addListener(new ListChangeListener() {
  204. @Override
  205. public void onChanged(Change c) {
  206.  
  207. if (tableTilmeldteHold.getSelectionModel().getSelectedItem() != null) {
  208. Hold hold = tableTilmeldteHold.getSelectionModel().getSelectedItem();
  209. }
  210.  
  211. }
  212. });
  213. btnFrameld = new Button("Frameld");
  214. this.add(btnFrameld, 7, 11);
  215. btnFrameld.setOnAction(event -> frameldHold());
  216.  
  217. }
  218.  
  219. public void updateControls() {
  220.  
  221. }
  222.  
  223. public void hentMedlem() {
  224. try {
  225. tableTilmeldteHold.getItems().clear();
  226. Connection minConnection;
  227. minConnection = DriverManager
  228. .getConnection(
  229. "jdbc:sqlserver://DESKTOP-C5KJ46E\\DAOS;databaseName=Yodafit;user=sa;password=123123;");
  230.  
  231. Statement stmt = minConnection.createStatement();
  232.  
  233. String id = txfId.getText();
  234. ResultSet res = stmt.executeQuery("exec hentMedlem " + id);
  235.  
  236. while (res.next()) {
  237. txfNavn.setText(res.getString(1));
  238. txfAdresse.setText(res.getString(2));
  239. txfTelefon.setText(res.getString(3));
  240. }
  241. hentTilmeldteHold();
  242. } catch (SQLException e) {
  243. System.out.println(e.getMessage());
  244. }
  245. }
  246.  
  247. public void hentHold() {
  248. try {
  249. tableHold.getItems().clear();
  250. Connection min;
  251.  
  252. min = DriverManager
  253. .getConnection(
  254. "jdbc:sqlserver://DESKTOP-C5KJ46E\\DAOS;databaseName=Yodafit;user=sa;password=123123;");
  255. Statement stmt = min.createStatement();
  256. String uge = txfUge.getText();
  257. String dag = txfDag.getText();
  258.  
  259. ResultSet res = stmt.executeQuery("exec hentHoldMedlem " + uge + ", " + dag);
  260.  
  261. while (res.next()) {
  262. Hold hold = new Hold(res.getString(1), res.getString(2), res.getString(3), res.getString(4),
  263. res.getString(5), res.getString(6), res.getString(7), res.getString(8),
  264. Integer.parseInt(res.getString(9)), Integer.parseInt(res.getString(10)));
  265. tableHold.getItems().add(hold);
  266. }
  267.  
  268. } catch (SQLException e) {
  269. System.out.println(e.getMessage());
  270. }
  271.  
  272. }
  273.  
  274. public void tilmeldHold() {
  275.  
  276. }
  277.  
  278. public void frameldHold() {
  279.  
  280. }
  281.  
  282. public void hentTilmeldteHold() {
  283. try {
  284. Connection min;
  285.  
  286. min = DriverManager
  287. .getConnection(
  288. "jdbc:sqlserver://DESKTOP-C5KJ46E\\DAOS;databaseName=Yodafit;user=sa;password=123123;");
  289. Statement stmt = min.createStatement();
  290. String id = txfId.getText();
  291.  
  292. ResultSet res = stmt.executeQuery("exec hentMedlemsHold " + id);
  293.  
  294. while (res.next()) {
  295. Hold hold = new Hold(res.getString(1), res.getString(2), res.getString(3), res.getString(4),
  296. res.getString(5), res.getString(6), res.getString(7), res.getString(8),
  297. Integer.parseInt(res.getString(9)), Integer.parseInt(res.getString(10)));
  298. tableTilmeldteHold.getItems().add(hold);
  299. }
  300.  
  301. } catch (Exception e) {
  302. // TODO: handle exception
  303. }
  304. }
  305.  
  306. public static class Hold {
  307.  
  308. private String id;
  309. private String navn;
  310. private String dag;
  311. private String uge;
  312. private String startTid;
  313. private String varighed;
  314. private String sal;
  315. private String instruktor;
  316. private int maxAntal;
  317. private int aktuelleAntal;
  318.  
  319. public Hold(String id, String navn, String dag, String uge, String startTid, String varighed, String sal,
  320. String instruktor, int maxAntal, int aktuelleAntal) {
  321. this.id = id;
  322. this.navn = navn;
  323. this.dag = dag;
  324. this.uge = uge;
  325. this.startTid = startTid;
  326. this.varighed = varighed;
  327. this.sal = sal;
  328. this.instruktor = instruktor;
  329. this.maxAntal = maxAntal;
  330. this.aktuelleAntal = aktuelleAntal;
  331. }
  332.  
  333. public String getId() {
  334. return id;
  335. }
  336.  
  337. public String getDag() {
  338. return dag;
  339. }
  340.  
  341. public String getUge() {
  342. return uge;
  343. }
  344.  
  345. public String getStartTid() {
  346. return startTid;
  347. }
  348.  
  349. public String getVarighed() {
  350. return varighed;
  351. }
  352.  
  353. public String getNavn() {
  354. return navn;
  355. }
  356.  
  357. public String getSal() {
  358. return sal;
  359. }
  360.  
  361. public String getInstruktor() {
  362. return instruktor;
  363. }
  364.  
  365. public int getMaxAntal() {
  366. return maxAntal;
  367. }
  368.  
  369. public int getAktuelleAntal() {
  370. return aktuelleAntal;
  371. }
  372. }
  373.  
  374. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement