Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package guifx;
- import java.time.LocalDate;
- import application.controller.Controller;
- import application.model.Deltager;
- import application.model.Hotel;
- import application.model.Miljoekonference;
- import javafx.geometry.Insets;
- import javafx.scene.Scene;
- import javafx.scene.control.Button;
- import javafx.scene.control.CheckBox;
- import javafx.scene.control.ComboBox;
- import javafx.scene.control.Label;
- import javafx.scene.control.TextField;
- import javafx.scene.layout.GridPane;
- import javafx.stage.Modality;
- import javafx.stage.Stage;
- import javafx.stage.StageStyle;
- public class TilmeldWindow extends Stage {
- private Miljoekonference konference;
- public TilmeldWindow() {
- initStyle(StageStyle.UTILITY);
- initModality(Modality.APPLICATION_MODAL);
- setResizable(false);
- setTitle("Tilmelding");
- GridPane pane = new GridPane();
- initContent(pane); //
- Scene scene = new Scene(pane);
- setScene(scene);
- }
- //-------------------------------------------------
- private TextField txfNavn, txfTlfNr, txfAdresse, txfBy, txfLand, txfFirmaNavn, txfFirmaTlf;
- private TextField txfLedNavn, txfLedTlfNr, txfLedAdresse, txfLedBy, txfLedLand;
- private TextField txfAnkomst, txfAfrejse;
- private ComboBox<Deltager> cbbDeltager;
- private ComboBox<Miljoekonference> cbbKonference;
- private ComboBox<Hotel> cbbHotel;
- private CheckBox chbForedragsholder, chbFirma, chbLedsager, chbHotel;
- private Button btnVidere, btnTilmeld;
- private Label lblError;
- private void initContent(GridPane pane) {
- pane.setPadding(new Insets(10));
- pane.setHgap(10);
- pane.setVgap(10);
- pane.setGridLinesVisible(false);
- //Deltager informationer
- Label lblDeltager = new Label("Deltager information");
- pane.add(lblDeltager, 0, 0);
- lblDeltager.setUnderline(true);
- Label lblNavn = new Label("Navn:");
- pane.add(lblNavn, 0, 1);
- txfNavn = new TextField();
- pane.add(txfNavn, 1, 1);
- Label lblTlfNr = new Label ("Telefon nr:");
- pane.add(lblTlfNr, 0, 2);
- txfTlfNr = new TextField();
- pane.add(txfTlfNr, 1, 2);
- Label lblAdresse = new Label("Adresse:");
- pane.add(lblAdresse, 0, 3);
- txfAdresse = new TextField();
- pane.add(txfAdresse, 1, 3);
- Label lblBy = new Label("By:");
- pane.add(lblBy, 0, 4);
- txfBy = new TextField();
- pane.add(txfBy, 1, 4);
- Label lblLand = new Label("Land:");
- pane.add(lblLand, 0, 5);
- txfLand = new TextField();
- pane.add(txfLand, 1, 5);
- Label lblForedragsholder = new Label("Er du foredragsholder?");
- pane.add(lblForedragsholder, 0, 6);
- chbForedragsholder = new CheckBox();
- pane.add(chbForedragsholder, 1, 6);
- // Firma information
- Label lblFirma = new Label("Firma ");
- pane.add(lblFirma, 2, 0);
- lblFirma.setUnderline(true);
- chbFirma = new CheckBox();
- pane.add(chbFirma, 3, 0);
- chbFirma.setOnAction(event -> this.selectedFirmaChanged());
- Label lblFirmaNavn = new Label("Navn:");
- pane.add(lblFirmaNavn, 2, 1);
- txfFirmaNavn = new TextField();
- pane.add(txfFirmaNavn, 3, 1);
- txfFirmaNavn.setDisable(true);
- Label lblTlf = new Label("Telefon nr:");
- pane.add(lblTlf, 2, 2);
- txfFirmaTlf = new TextField();
- pane.add(txfFirmaTlf, 3, 2);
- txfFirmaTlf.setDisable(true);
- // Ledsager
- Label lblLedsager = new Label("Ledsager");
- pane.add(lblLedsager, 4, 0);
- lblLedsager.setUnderline(true);
- chbLedsager = new CheckBox();
- pane.add(chbLedsager, 5, 0);
- chbLedsager.setOnAction(event -> this.selectedLedsagerChanged());
- Label lblLedNavn = new Label("Navn:");
- pane.add(lblLedNavn, 4, 1);
- txfLedNavn = new TextField();
- pane.add(txfLedNavn, 5, 1);
- txfLedNavn.setDisable(true);
- Label lblLedTlfNr = new Label ("Telefon nr:");
- pane.add(lblLedTlfNr, 4, 2);
- txfLedTlfNr = new TextField();
- pane.add(txfLedTlfNr, 5, 2);
- txfLedTlfNr.setDisable(true);
- Label lblLedAdresse = new Label("Adresse:");
- pane.add(lblLedAdresse, 4, 3);
- txfLedAdresse = new TextField();
- pane.add(txfLedAdresse, 5, 3);
- txfLedAdresse.setDisable(true);
- Label lblLedBy = new Label("By:");
- pane.add(lblLedBy, 4, 4);
- txfLedBy = new TextField();
- pane.add(txfLedBy, 5, 4);
- txfLedBy.setDisable(true);
- Label lblLedLand = new Label("Land:");
- pane.add(lblLedLand, 4, 5);
- txfLedLand = new TextField();
- pane.add(txfLedLand, 5, 5);
- txfLedLand.setDisable(true);
- // deltager combo
- cbbDeltager = new ComboBox<>();
- pane.add(cbbDeltager, 1, 0);
- cbbDeltager.getItems().setAll(Controller.getDeltagere());
- cbbDeltager.setOnAction(event -> this.autoDeltager());
- // Tilmelding
- Label lblKonference = new Label("Konference:");
- pane.add(lblKonference, 0, 7);
- cbbKonference = new ComboBox<>();
- pane.add(cbbKonference, 1, 7);
- cbbKonference.getItems().setAll(Controller.getMiljoekonferencer());
- Label lblAnkomst = new Label("Ankomst dato: ");
- pane.add(lblAnkomst, 0, 8);
- txfAnkomst = new TextField();
- pane.add(txfAnkomst, 1, 8);
- txfAnkomst.setText("YYYY-MM-DD");
- Label lblAfrejse = new Label("Afrejse dato:");
- pane.add(lblAfrejse, 0, 9);
- txfAfrejse = new TextField();
- pane.add(txfAfrejse, 1, 9);
- txfAfrejse.setText("YYYY-MM-DD");
- // Hotellet
- Label lblHotel = new Label("Hotel");
- pane.add(lblHotel, 6, 0);
- lblHotel.setUnderline(true);
- chbHotel = new CheckBox();
- pane.add(chbHotel, 7, 0);
- chbHotel.setOnAction(event -> this.selectedHotelChanged());
- Label lblHotelValg = new Label("Vælg hotel:");
- pane.add(lblHotelValg, 6, 1);
- cbbHotel = new ComboBox<>();
- pane.add(cbbHotel, 7, 1);
- cbbHotel.setDisable(true);
- // cbbHotel.getItems().setAll(Controller.);
- // tillæg
- // Udflugter
- // Buttons - btnVidere, btnTilmeld
- btnVidere = new Button("Videre");
- pane.add(btnVidere, 0, 11);
- btnVidere.setPadding(new Insets(10, 10, 10, 10));
- btnVidere.setOnAction(event -> this.videreAction());
- // Error Label
- lblError = new Label();
- pane.add(lblError, 0, 12);
- lblError.setStyle("-fx-text-fill: red");
- }
- private void initControls() {
- }
- //--------------------------------------------------------------------------
- private void videreAction() {
- // Deltager
- String navn = txfNavn.getText().trim();
- if (navn.length() == 0) {
- lblError.setText("Navn mangler");
- return;
- }
- int tlfNr = Integer.parseInt(txfTlfNr.getText().trim());
- //
- String adresse = txfAdresse.getText().trim();
- if (adresse.length() == 0) {
- lblError.setText("Adresse mangler");
- return;
- }
- String by = txfBy.getText().trim();
- if (by.length() == 0) {
- lblError.setText("By mangler");
- return;
- }
- String land = txfLand.getText().trim();
- if (land.length() == 0) {
- lblError.setText("Land mangler");
- return;
- }
- Boolean foredragsholder = chbForedragsholder.isSelected();
- Deltager tilmeldDeltager = Controller.createDeltager(navn, tlfNr, adresse, by, land, foredragsholder);
- // Tilmelding
- LocalDate ankomstDato = LocalDate.parse(txfAnkomst.getText().trim());
- LocalDate afrejseDato = LocalDate.parse(txfAfrejse.getText().trim());
- Miljoekonference valgtKonference = cbbKonference.getSelectionModel().getSelectedItem();
- Controller.createTilmelding(ankomstDato, afrejseDato, tilmeldDeltager, valgtKonference);
- }
- //--------------------------------------------------------------------------
- //Check box actions
- private void selectedFirmaChanged() {
- if (chbFirma.isSelected()) {
- txfFirmaNavn.setDisable(false);
- txfFirmaTlf.setDisable(false);
- } else {
- txfFirmaNavn.setDisable(true);
- txfFirmaTlf.setDisable(true);
- }
- }
- private void selectedLedsagerChanged() {
- if (chbLedsager.isSelected()) {
- txfLedNavn.setDisable(false);
- txfLedTlfNr.setDisable(false);
- txfLedAdresse.setDisable(false);
- txfLedBy.setDisable(false);
- txfLedLand.setDisable(false);
- } else {
- txfLedNavn.setDisable(true);
- txfLedTlfNr.setDisable(true);
- txfLedAdresse.setDisable(true);
- txfLedBy.setDisable(true);
- txfLedLand.setDisable(true);
- }
- }
- private void selectedHotelChanged() {
- if (chbHotel.isSelected()) {
- cbbHotel.setDisable(false);
- } else {
- cbbHotel.setDisable(true);
- }
- }
- //--------------------------------------------------------------------------
- private void autoDeltager() {
- Deltager oldDeltager = cbbDeltager.getSelectionModel().getSelectedItem();
- txfNavn.setText(oldDeltager.getNavn());
- txfTlfNr.setText(oldDeltager.getTlfNr() + "");
- txfAdresse.setText(oldDeltager.getAdresse());
- txfBy.setText(oldDeltager.getBy());
- txfLand.setText(oldDeltager.getLand());
- chbForedragsholder.setSelected(oldDeltager.isForedragsholder());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement