Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package gui;
- import java.util.ArrayList;
- import controller.Controller;
- import javafx.beans.value.ChangeListener;
- import javafx.geometry.Insets;
- import javafx.geometry.Pos;
- import javafx.scene.Scene;
- import javafx.scene.control.Alert;
- import javafx.scene.control.Alert.AlertType;
- import javafx.scene.control.Button;
- import javafx.scene.control.CheckBox;
- import javafx.scene.control.Label;
- import javafx.scene.control.ListView;
- import javafx.scene.control.TextField;
- import javafx.scene.layout.GridPane;
- import javafx.scene.layout.HBox;
- import javafx.stage.Modality;
- import javafx.stage.Stage;
- import javafx.stage.StageStyle;
- import model.Deltager;
- import model.Hotel;
- import model.Konference;
- import model.Ledsager;
- import model.Udflugt;
- public class DeltagerWindow extends Stage {
- public DeltagerWindow(String title, Stage owner) {
- this.initOwner(owner);
- this.initStyle(StageStyle.UTILITY);
- this.initModality(Modality.APPLICATION_MODAL);
- this.setMinHeight(100);
- this.setMinWidth(200);
- this.setResizable(false);
- this.setTitle(title);
- GridPane pane = new GridPane();
- this.initContent(pane);
- Scene scene = new Scene(pane);
- this.setScene(scene);
- }
- // -------------------------------------------------------------------------
- private ListView<Deltager> lvwDeltagere = new ListView<>();
- private ArrayList<Deltager> deltagere = new ArrayList<Deltager>();
- private ListView<Konference> lvwKonference = new ListView<>();
- private ArrayList<Konference> konferencer = new ArrayList<Konference>();
- private TextField txfName = new TextField();
- private TextField txfTelefon = new TextField();
- private TextField txfFirma = new TextField();
- private TextField txfKonference = new TextField();
- private TextField txfAntalDage = new TextField();
- private TextField txfLedsager = new TextField();
- private Deltager deltager = null;
- private CheckBox cbxHotelMedService;
- private CheckBox cbxHotelUdenService;
- private CheckBox cbxSpeaker;
- private CheckBox cbxLedsagerMedUdflugt;
- private CheckBox cbxLedsagerUdenUdflugt;
- private void initContent(GridPane pane) {
- Controller.initStorage();
- pane.setPadding(new Insets(20));
- pane.setHgap(10);
- pane.setVgap(10);
- Label lblName = new Label("Fulde Navn:");
- pane.add(lblName, 0, 0, 1, 1);
- pane.add(txfName, 1, 0, 2, 1);
- Label lblDot = new Label(" 🢀 Skal indtastes:");
- pane.add(lblDot, 2, 0, 2, 1);
- Label lblTelefon = new Label("Telefon:");
- pane.add(lblTelefon, 0, 1, 1, 1);
- pane.add(txfTelefon, 1, 1, 2, 1);
- Label lblDot1 = new Label(" 🢀 Skal indtastes:");
- pane.add(lblDot1, 2, 1, 2, 1);
- Label lblLedsager = new Label("Ledsager:");
- pane.add(lblLedsager, 0, 4, 1, 1);
- pane.add(txfLedsager, 1, 4, 2, 1);
- Label lblFirma = new Label("Firma:");
- pane.add(lblFirma, 0, 5, 1, 1);
- pane.add(txfFirma, 1, 5, 2, 1);
- Label lblKonference = new Label("Konference:");
- pane.add(lblKonference, 0, 6, 1, 1);
- pane.add(txfKonference, 1, 6, 2, 1);
- txfKonference.setEditable(false);
- Label lblAntalDage = new Label("Antal dage pĂĄ konference:");
- pane.add(lblAntalDage, 0, 13, 1, 1);
- pane.add(txfAntalDage, 1, 13, 1, 1);
- Label lblDot3 = new Label(
- " 🢀 (mellem 1-3 dage)\n også gældende for antal hotel dage \n hvis tilvalgt");
- pane.add(lblDot3, 2, 13, 2, 2);
- HBox buttonBox = new HBox(20);
- pane.add(buttonBox, 1, 17, 1, 1);
- buttonBox.setPadding(new Insets(10, 10, 0, 10));
- buttonBox.setAlignment(Pos.TOP_RIGHT);
- Button btnCancel = new Button("Cancel");
- buttonBox.getChildren().add(btnCancel);
- btnCancel.setOnAction(event -> this.cancelAction());
- Button btnOK = new Button("OK");
- buttonBox.getChildren().add(btnOK);
- btnOK.setOnAction(event -> this.okAction());
- Label lblHotel = new Label("Book tilknyttede hotel inkl. service: ");
- pane.add(lblHotel, 0, 10, 1, 1);
- cbxHotelMedService = new CheckBox();
- pane.add(cbxHotelMedService, 1, 10, 5, 1);
- Label lblHotel1 = new Label("Book tilknyttede hotel ekskl. service: ");
- pane.add(lblHotel1, 0, 11, 1, 1);
- cbxHotelUdenService = new CheckBox();
- pane.add(cbxHotelUdenService, 1, 11, 5, 1);
- Label lblSpeaker = new Label("Deltager er foredragsholder \n(konference er gratis): ");
- pane.add(lblSpeaker, 0, 14, 1, 1);
- cbxSpeaker = new CheckBox();
- pane.add(cbxSpeaker, 1, 14, 5, 2);
- Label lblLedsagerMedUdflugt = new Label("Ledsager med udflugt: ");
- pane.add(lblLedsagerMedUdflugt, 0, 16, 1, 1);
- cbxLedsagerMedUdflugt = new CheckBox();
- pane.add(cbxLedsagerMedUdflugt, 1, 16, 5, 1);
- Label lblLedsagerUdenUdflugt = new Label("Ledsager uden udflugt: ");
- pane.add(lblLedsagerUdenUdflugt, 0, 17, 1, 1);
- cbxLedsagerUdenUdflugt = new CheckBox();
- pane.add(cbxLedsagerUdenUdflugt, 1, 17, 5, 1);
- Label lblDot2 = new Label(" 🢀 Vælg en konference");
- pane.add(lblDot2, 2, 8, 2, 3);
- pane.add(lvwKonference, 1, 7, 1, 3);
- lvwKonference.setEditable(false);
- lvwKonference.setPrefWidth(250);
- lvwKonference.setPrefHeight(150);
- lvwKonference.getItems().setAll(konferencer);
- ChangeListener<Konference> listener = (ov, o, n) -> this.konferenceItemSelected();
- lvwKonference.getSelectionModel().selectedItemProperty().addListener(listener);
- lvwKonference.getItems().setAll(Controller.getKonference());
- if (lvwKonference.getItems().size() > 0) {
- lvwKonference.getSelectionModel();
- txfKonference.clear();
- }
- }
- private void konferenceItemSelected() {
- Konference selected = lvwKonference.getSelectionModel().getSelectedItem();
- if (selected != null) {
- txfKonference.setText(selected.toString());
- } else {
- txfKonference.clear();
- }
- }
- public static Hotel addHotel(String navn) {
- Hotel hotel = new Hotel(navn);
- return hotel;
- }
- public static Udflugt addUdflugt(String navn) {
- Udflugt udflugt = new Udflugt(navn);
- return udflugt;
- }
- public static Ledsager addLedsager(String navn) {
- Ledsager ledsager = new Ledsager(navn);
- return ledsager;
- }
- private void cancelAction() {
- txfName.clear();
- txfTelefon.clear();
- txfFirma.clear();
- txfKonference.clear();
- txfLedsager.clear();
- deltager = null;
- cbxHotelMedService.setSelected(false);
- cbxHotelUdenService.setSelected(false);
- cbxSpeaker.setSelected(false);
- cbxLedsagerMedUdflugt.setSelected(false);
- cbxLedsagerUdenUdflugt.setSelected(false);
- txfAntalDage.clear();
- this.hide();
- }
- private void okAction() {
- String navn = txfName.getText().trim();
- int telefon = Integer.parseInt(txfTelefon.getText());
- int antalDage = Integer.parseInt(txfAntalDage.getText());
- String firma = txfFirma.getText().trim();
- String konfe = txfKonference.getText().trim();
- Konference konferenc = lvwKonference.getSelectionModel().getSelectedItem();
- boolean hotelMedService = false;
- boolean hotelUdenService = false;
- boolean speaker = false;
- boolean ledsagerMedUdflugt = false;
- boolean ledsagerUdenUdflugt = false;
- if (cbxHotelMedService.isSelected()) {
- hotelMedService = true;
- }
- if (cbxHotelUdenService.isSelected()) {
- hotelUdenService = true;
- }
- if (cbxSpeaker.isSelected()) {
- speaker = true;
- }
- if (cbxLedsagerMedUdflugt.isSelected()) {
- ledsagerMedUdflugt = true;
- }
- if (cbxLedsagerUdenUdflugt.isSelected()) {
- ledsagerUdenUdflugt = true;
- }
- if (cbxLedsagerMedUdflugt.isSelected() && cbxLedsagerUdenUdflugt.isSelected()) {
- Alert alert = new Alert(AlertType.INFORMATION);
- alert.setTitle("Fejl");
- alert.setHeaderText("Du har valgt en ledsager bĂĄde med udflugt OG uden udflugt");
- alert.setContentText("Vælg venligst én af de to muligheder");
- alert.show();
- this.hide();
- txfName.clear();
- txfTelefon.clear();
- txfFirma.clear();
- txfKonference.clear();
- txfAntalDage.clear();
- cbxHotelMedService.setSelected(false);
- cbxSpeaker.setSelected(false);
- cbxHotelMedService.setSelected(false);
- cbxHotelUdenService.setSelected(false);
- cbxLedsagerMedUdflugt.setSelected(false);
- cbxLedsagerUdenUdflugt.setSelected(false);
- return;
- }
- if (cbxHotelMedService.isSelected() && cbxHotelUdenService.isSelected()) {
- Alert alert = new Alert(AlertType.INFORMATION);
- alert.setTitle("Fejl");
- alert.setHeaderText("Du har valgt et hotel bĂĄde med serive OG uden service");
- alert.setContentText("Vælg venligst én af de to muligheder");
- alert.show();
- this.hide();
- txfName.clear();
- txfTelefon.clear();
- txfFirma.clear();
- txfKonference.clear();
- txfAntalDage.clear();
- cbxHotelMedService.setSelected(false);
- cbxSpeaker.setSelected(false);
- cbxHotelMedService.setSelected(false);
- cbxHotelUdenService.setSelected(false);
- cbxLedsagerMedUdflugt.setSelected(false);
- cbxLedsagerUdenUdflugt.setSelected(false);
- return;
- }
- if (cbxHotelMedService.isSelected() && cbxLedsagerMedUdflugt.isSelected()
- || cbxHotelMedService.isSelected() && cbxLedsagerUdenUdflugt.isSelected()
- || cbxHotelUdenService.isSelected() && cbxLedsagerMedUdflugt.isSelected()
- || cbxHotelUdenService.isSelected() && cbxLedsagerUdenUdflugt.isSelected()) {
- Alert alert = new Alert(AlertType.INFORMATION);
- alert.setTitle("Et dobbeltværelse er tilføjet til reservationen");
- alert.setHeaderText("Dobbeltværelse er tilføjet!");
- alert.setContentText("Deltager og ledsager for et værelse hver.");
- alert.show();
- }
- if (navn.length() > 0 && telefon > 0 && konfe.length() > 0 && antalDage == 1 || antalDage == 2
- || antalDage == 3) {
- deltager = new Deltager(navn, telefon, firma, konferenc, hotelMedService, hotelUdenService,
- ledsagerMedUdflugt, ledsagerUdenUdflugt, speaker, antalDage);
- deltagere.add(deltager);
- lvwDeltagere.getItems().setAll(deltager);
- this.hide();
- txfName.clear();
- txfTelefon.clear();
- txfFirma.clear();
- txfKonference.clear();
- txfAntalDage.clear();
- cbxHotelMedService.setSelected(false);
- cbxHotelUdenService.setSelected(false);
- cbxSpeaker.setSelected(false);
- cbxLedsagerMedUdflugt.setSelected(false);
- cbxLedsagerUdenUdflugt.setSelected(false);
- } else {
- Alert alert = new Alert(AlertType.INFORMATION);
- alert.setTitle("Fejl");
- alert.setHeaderText("Manglende information");
- alert.setContentText("Udfyld venligst alle felter og sikre dig at du har valgt mellem 1-3 antal dage");
- alert.show();
- }
- }
- public Deltager getActualDeltager() {
- return deltager;
- }
- public void resetActualDeltager() {
- deltager = null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement