/** @see javafx.scene.control.Cell#updateItem(java.lang.Object, boolean) */
  @Override
  protected void updateItem(ResultsItem item, boolean empty) {
    super.updateItem(item, empty);
    if (item != null) {
      setText("");

      GridPane gp = new GridPane();
      gp.setHgap(0.0);
      gp.setVgap(0.0);
      gp.setPadding(new Insets(5, 5, 5, 5));
      gp.setMinWidth(250);

      ColumnConstraints constraint1 = new ColumnConstraints();
      constraint1.setFillWidth(false);
      constraint1.setHgrow(Priority.NEVER);
      constraint1.setMinWidth(160);
      constraint1.setMaxWidth(160);
      gp.getColumnConstraints().add(constraint1);

      ColumnConstraints constraint2 = new ColumnConstraints();
      constraint2.setFillWidth(true);
      constraint2.setHgrow(Priority.SOMETIMES);
      gp.getColumnConstraints().add(constraint2);

      int row = 0;

      gp.add(wrapAndStyle(makeBoldLabel("Message"), row), 0, row);
      Label message = new Label(item.getMessage());
      message.setWrapText(true);
      message.maxWidthProperty().bind(this.widthProperty().subtract(180));
      gp.add(wrapAndStyle(message, row), 1, row++);

      gp.add(wrapAndStyle(makeBoldLabel("Severity"), row), 0, row);
      Label severity = new Label(item.getSeverity().getName());
      severity.setWrapText(true);
      severity.maxWidthProperty().bind(this.widthProperty().subtract(180));
      gp.add(wrapAndStyle(severity, row), 1, row++);

      gp.add(wrapAndStyle(makeBoldLabel("Rule UUID"), row), 0, row);
      Label ruleUUID = new Label(item.getRuleUuid());
      ruleUUID.setWrapText(true);
      ruleUUID.maxWidthProperty().bind(this.widthProperty().subtract(180));
      gp.add(wrapAndStyle(ruleUUID, row), 1, row++);

      gp.add(wrapAndStyle(makeBoldLabel("Error Code"), row), 0, row);
      Label errorCode = new Label(item.getErrorCode() + "");
      errorCode.setWrapText(true);
      errorCode.maxWidthProperty().bind(this.widthProperty().subtract(180));
      gp.add(wrapAndStyle(errorCode, row), 1, row++);

      setGraphic(gp);
      this.setStyle("-fx-border-width:  0 0 2 0; -fx-border-color: grey; ");

    } else {
      setText("");
      setGraphic(null);
      this.setStyle("");
    }
  }
  public Veld2Verkeerstechniek(
      LeerlingController llnCntrl, SchermController schermCtrl, EvaController evaCtrl) {
    evaController = evaCtrl;
    schermController = schermCtrl;
    llnController = llnCntrl;
    llnController.getLeerling().addView(this);
    hoogte = schermController.getHoogte();
    breedte = schermController.getBreedte();
    mainGP = new GridPane();

    // evaSelector
    eva = new EvaSelector(evaController);

    // labels
    kleur = new Button("Kleur kiezen");
    venster = new Button("Extra venster");

    kleur.setMinSize(120, 30);
    kleur.setMaxSize(120, 30);
    venster.setMinSize(120, 30);
    venster.setMaxSize(120, 30);

    kleur.setStyle(
        "-fx-border-color: black; -fx-border-width:1; -fx-border-style: solid; -fx-background-color: WHITE");
    kleur.setAlignment(Pos.CENTER);
    venster.setStyle(
        "-fx-border-color: black; -fx-border-width:1; -fx-border-style: solid; -fx-background-color: WHITE");
    venster.setAlignment(Pos.CENTER);

    kleur.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            selecteerKleur();
          }
        });
    venster.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            selecteerVenster();
          }
        });

    labels = new HBox();
    labels.setSpacing(15);
    labels.setTranslateY(-hoogte * 0.75);
    labels.setTranslateX(20);
    labels.getChildren().addAll(kleur, venster);

    // alle afbeeldingen
    // Links
    links = new GridPane();
    openbareWegImg =
        new Onderdeel("resource/Verkeerstechniek/openbareWeg", -140, 160, evaController);
    openbareWegImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKPLAATS_ID);
          }
        });
    richtingaanwijzersImg =
        new Onderdeel("resource/Verkeerstechniek/richtingaanwijzers", 120, 140, evaController);
    richtingaanwijzersImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKRICHTINGAANWIJZERS_ID);
          }
        });
    rechtsafImg = new Onderdeel("resource/Verkeerstechniek/rechtsaf", 220, 160, evaController);
    rechtsafImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKRECHTSAF_ID);
          }
        });
    linksafImg = new Onderdeel("resource/Verkeerstechniek/linksaf", 120, 190, evaController);
    linksafImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKLINKSAF_ID);
          }
        });
    kruisenImg = new Onderdeel("resource/Verkeerstechniek/kruisen", 60, 155, evaController);
    kruisenImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKKRUISEN_ID);
          }
        });
    // Rechts
    rechts = new GridPane();
    voorrangImg = new Onderdeel("resource/Verkeerstechniek/voorrang", -140, 160, evaController);
    voorrangImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKVOORRANG_ID);
          }
        });
    verkeerstekensImg =
        new Onderdeel("resource/Verkeerstechniek/verkeerstekens", -25, 140, evaController);
    verkeerstekensImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKVERKEERSTEKENS_ID);
          }
        });
    snelheidImg = new Onderdeel("resource/Verkeerstechniek/snelheid", 30, 155, evaController);
    snelheidImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKSNELHEID_ID);
          }
        });
    afstandImg = new Onderdeel("resource/Verkeerstechniek/afstand", -25, 190, evaController);
    afstandImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKAFSTAND_ID);
          }
        });
    inhalenImg = new Onderdeel("resource/Verkeerstechniek/inhalen", 220, 160, evaController);
    inhalenImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKINHALEN_ID);
          }
        });
    // pijlen center
    pijlen = new Pijlen(evaController, 300);

    // GridPane links
    links.add(inhalenImg, 0, 0);
    links.add(richtingaanwijzersImg, 0, 1);
    links.add(kruisenImg, 0, 2);
    links.add(linksafImg, 0, 3);
    links.add(rechtsafImg, 0, 4);

    // GridPane rechts
    rechts.add(voorrangImg, 0, 0);
    rechts.add(verkeerstekensImg, 0, 1);
    rechts.add(snelheidImg, 0, 2);
    rechts.add(afstandImg, 0, 3);
    rechts.add(openbareWegImg, 0, 4);

    // opmaak
    // algemeen
    mainGP.setHgap(50);
    // links
    links.setAlignment(Pos.CENTER);
    links.setVgap(20);
    links.setMaxWidth(80);
    inhalenImg.setFitHeight(80);
    inhalenImg.setFitWidth(80);
    inhalenImg.setTranslateX(180);
    richtingaanwijzersImg.setFitHeight(80);
    richtingaanwijzersImg.setFitWidth(80);
    richtingaanwijzersImg.setTranslateX(75);
    richtingaanwijzersImg.setTranslateY(-30);
    kruisenImg.setFitHeight(80);
    kruisenImg.setFitWidth(80);
    kruisenImg.setTranslateX(10);
    linksafImg.setFitHeight(80);
    linksafImg.setFitWidth(80);
    linksafImg.setTranslateX(75);
    linksafImg.setTranslateY(30);
    rechtsafImg.setFitHeight(80);
    rechtsafImg.setFitWidth(80);
    rechtsafImg.setTranslateX(180);
    // rechts
    rechts.setAlignment(Pos.CENTER);
    rechts.setVgap(20);
    rechts.setMaxWidth(80);
    voorrangImg.setFitHeight(80);
    voorrangImg.setFitWidth(80);
    voorrangImg.setTranslateX(-180);
    verkeerstekensImg.setFitHeight(80);
    verkeerstekensImg.setFitWidth(80);
    verkeerstekensImg.setTranslateX(-75);
    verkeerstekensImg.setTranslateY(-30);
    snelheidImg.setFitHeight(80);
    snelheidImg.setFitWidth(80);
    snelheidImg.setTranslateX(-10);
    afstandImg.setFitHeight(80);
    afstandImg.setFitWidth(80);
    afstandImg.setTranslateX(-75);
    afstandImg.setTranslateY(30);
    openbareWegImg.setFitHeight(80);
    openbareWegImg.setFitWidth(80);
    openbareWegImg.setTranslateX(-180);
    // pijlen center
    pijlen.setAlignment(Pos.CENTER);
    pijlen.setTranslateY(10);

    // Exit button
    exit = new Button("Ga terug");
    exit.setTranslateX(50);
    exit.setTranslateY(75);

    eva.setTranslateX(-50);
    eva.setTranslateY(75);

    // eventhandler
    exit.setOnAction(
        new EventHandler<ActionEvent>() {
          @Override
          public void handle(ActionEvent e) {
            exitVerkeerstechniek();
          }
        });
    exit.setStyle("-fx-background-color: #5F6A95; -fx-text-fill:white");

    for (Node c : links.getChildren()) {
      if (c instanceof Onderdeel) {
        c.setOnMouseClicked(
            new EventHandler<MouseEvent>() {
              @Override
              public void handle(MouseEvent e) {
                KleurKiezerHouder.show(links, (Onderdeel) c);
              }
            });
      }
    }

    for (Node c : rechts.getChildren()) {
      if (c instanceof Onderdeel) {
        c.setOnMouseClicked(
            new EventHandler<MouseEvent>() {
              @Override
              public void handle(MouseEvent e) {
                KleurKiezerHouder.show(rechts, (Onderdeel) c);
              }
            });
      }
    }

    eva.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            update();
          }
        });
    this.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            update();
          }
        });

    // achtergrond
    achtergrond = new ImageView("resource/Verkeerstechniek/achtergrondVt.png");
    achtergrond.setTranslateX(breedte / 2);
    mainGP.setTranslateX(-breedte * 0.53);
    mainGP.setTranslateY(5);
    mainGP.setMinWidth(breedte);
    mainGP.setMaxWidth(breedte);

    // Alle Gridpanes toevoegen an hoofd GridPane
    // volgorde is belangrijk, niet aanpassen!
    mainGP.add(pijlen, 2, 0);
    mainGP.add(rechts, 3, 0);
    mainGP.add(links, 1, 0);
    mainGP.add(exit, 3, 1);
    mainGP.add(labels, 2, 1);
    mainGP.add(eva, 1, 1);
    mainGP.setAlignment(Pos.CENTER);
    // mainGP.setStyle("-fx-background-color: #003399");

    this.getChildren().add(achtergrond);
    this.getChildren().add(mainGP);
    this.setAlignment(Pos.CENTER);

    selecteerKleur();
    update();
  }
  public Veld1RijtechniekKijktechniek(
      SchermController schermCtrl, EvaController evaCtrl, LeerlingController llnCtrl) {
    evaController = evaCtrl;
    schermController = schermCtrl;
    llnController = llnCtrl;

    this.llnController.getLeerling().addView(this);

    aandachtBtn = new Button("Aandachtspunt");
    aandachtBtn.setOnAction(
        new EventHandler<ActionEvent>() {
          @Override
          public void handle(ActionEvent e) {
            aandacht();
          }
        });

    commentaarCol = new TableColumn("Commentaar");
    commentaarCol.setCellValueFactory(new PropertyValueFactory<Rijtechniek, String>("commentaar"));
    commentaarCol.setCellFactory(TextFieldTableCell.forTableColumn());
    commentaarCol.setOnEditCommit(
        new EventHandler<CellEditEvent<Rijtechniek, String>>() {
          @Override
          public void handle(CellEditEvent<Rijtechniek, String> t) {
            ((Rijtechniek) t.getTableView().getItems().get(t.getTablePosition().getRow()))
                .setCommentaar(t.getNewValue());
          }
        });

    table.setItems(data);
    table.getColumns().addAll(commentaarCol);

    commentaarFld = new TextField();
    commentaarFld.setPromptText("Commentaar");

    addButton = new Button("Voeg toe");
    addButton.setOnAction(
        new EventHandler<ActionEvent>() {
          @Override
          public void handle(ActionEvent e) {
            resetAandachtBtn();
            if (!"".equals(commentaarFld.getText())) {
              data.add(new Rijtechniek(commentaarFld.getText()));
              commentaarFld.clear();
            }
          }
        });
    table.setItems(data);
    table.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            resetAandachtBtn();
          }
        });
    table.setEditable(true);

    vBox2.getChildren().addAll(table, commentaarFld);
    exit = new Button("Ga terug");

    exit.setOnAction(
        new EventHandler<ActionEvent>() {
          @Override
          public void handle(ActionEvent e) {
            evaController.saveListDataRijtechniek("Stuurtechniek", data);
            Veld1RijtechniekKijktechniek.this.schermController.setScherm(MainApp.RIJTECHNIEK_ID);
            resetAandachtBtn();
          }
        });
    delBtn = new Button("Verwijder");
    delBtn.setOnAction(
        new EventHandler<ActionEvent>() {
          @Override
          public void handle(ActionEvent e) {
            resetAandachtBtn();

            table.getItems().remove(table.getSelectionModel().getSelectedItem());
          }
        });
    delBtn.setMinHeight(30);
    delBtn.setMaxHeight(30);
    delBtn.setMinWidth(125);
    delBtn.setMaxWidth(125);
    delBtn.setAlignment(Pos.CENTER);
    delBtn.setTranslateX(-47);
    delBtn.setStyle("-fx-background-color: #5F6A95; -fx-text-fill:white");
    table.getStylesheets().add("resource/tableView.css");
    commentaarFld.setStyle("-fx-background-color:#789EBF; -fx-text-fill:white");
    commentaarCol.setMaxWidth(496);
    commentaarCol.setMinWidth(496);
    hBox1.getChildren().addAll(titelAfb, titel);
    hBox1.setMinHeight(50);
    hBox1.setMaxHeight(50);
    hBox1.setMinWidth(600);
    hBox1.setMaxWidth(600);
    hBox1.setSpacing(15);
    hBox1.setAlignment(Pos.CENTER);
    titelAfb.setFitHeight(50);
    titelAfb.setFitWidth(50);
    titel.setStyle("-fx-font: 40px Tahoma; -fx-text-fill:white");

    table.setMinWidth(500);
    table.setMaxWidth(500);
    table.setMinHeight(400);
    table.setMaxHeight(400);
    addButton.setMinHeight(30);
    addButton.setMaxHeight(30);
    addButton.setMinWidth(150);
    addButton.setMaxWidth(150);
    addButton.setAlignment(Pos.CENTER);
    aandachtBtn.setMinHeight(30);
    aandachtBtn.setMaxHeight(30);
    aandachtBtn.setMinWidth(150);
    aandachtBtn.setMaxWidth(150);
    aandachtBtn.setAlignment(Pos.CENTER);
    exit.setMinHeight(30);
    exit.setMaxHeight(30);
    exit.setMinWidth(150);
    exit.setMaxWidth(150);
    exit.setAlignment(Pos.CENTER);
    commentaarFld.setMinHeight(30);
    commentaarFld.setMaxHeight(30);
    commentaarFld.setMinWidth(250);
    commentaarFld.setMaxWidth(250);
    commentaarFld.setAlignment(Pos.CENTER);
    table.setTranslateX(70);
    commentaarFld.setTranslateX(90);
    addButton.setTranslateX(90);
    aandachtBtn.setTranslateX(90);
    exit.setTranslateX(90);

    addButton.setStyle("-fx-background-color: #5F6A95; -fx-text-fill:white");
    exit.setStyle("-fx-background-color: #5F6A95; -fx-text-fill:white");
    aandachtBtn.setStyle("-fx-background-color: #5F6A95; -fx-text-fill:white");

    gp.setStyle(
        "-fx-border-color: #282E54; -fx-border-radius:10 10 10 10;"
            + "-fx-effect: dropshadow(three-pass-box, rgba(0,0,0,0.8), 10, 0, 0, 0);"
            + "-fx-background-color: #282B3A;"
            + "-fx-background-radius: 5;");
    gp.setMaxWidth(900);
    gp.setMinWidth(900);
    gp.setMinHeight(600);
    gp.setMaxHeight(600);
    gp.setHgap(50);
    gp.setVgap(20);
    gp.setAlignment(Pos.CENTER);
    gp.add(hBox1, 0, 0, 2, 1);
    gp.add(table, 0, 1, 2, 1);
    gp.add(commentaarFld, 0, 2);
    gp.add(addButton, 1, 2);
    gp.add(aandachtBtn, 0, 3);
    gp.add(exit, 1, 3);
    gp.add(delBtn, 1, 3);

    this.setAlignment(Pos.CENTER);
    this.getChildren().add(gp);
    this.setStyle("-fx-background-image: url('resource/achtergrondStandaard.png')");

    update();
  }
Beispiel #4
0
  public Connexion(final Stage stage) throws Exception {

    panelTitre.getChildren().add(titre);
    panelTitre.setAlignment(Pos.CENTER);
    panelTitre.setMinHeight(50);

    gridPane.setAlignment(Pos.CENTER);
    borderCenter.setCenter(gridPane);
    borderCenter.setMinHeight(100);

    panelPrincipal.setTop(panelTitre);
    panelPrincipal.setCenter(borderCenter);

    titre.setFont(Font.font("Verdana", 40));

    FileReader fr = new FileReader(fichierLogin);
    @SuppressWarnings("resource")
    BufferedReader br = new BufferedReader(fr);

    String ligneAdmin = br.readLine();
    String ligneUtil = br.readLine();

    String[] tabAdmin = ligneAdmin.split(";");
    admin.setIdentifiant(tabAdmin[0]);
    admin.setMotDePasse(tabAdmin[1]);

    String[] tabUtil = ligneUtil.split(";");
    util.setIdentifiant(tabUtil[0]);
    util.setMotDePasse(tabUtil[1]);

    panelPrincipal.setPadding(new Insets(10, 50, 50, 50));

    gridPane.setPadding(new Insets(7));
    gridPane.setHgap(7);
    gridPane.setVgap(7);

    lblUserName.setFont(Font.font("Arial", 15));
    lblPassword.setFont(Font.font("Arial", 15));

    gridPane.add(lblUserName, 0, 0);
    gridPane.add(txtUserName, 1, 0);
    gridPane.add(lblPassword, 0, 1);
    gridPane.add(pf, 1, 1);
    gridPane.add(btnLogin, 1, 3);
    gridPane.add(lblMessage, 1, 5);
    btnLogin.setFont(Font.font(null, 15));
    gridPane.setMinWidth(100);

    btnLogin.setPrefSize(100, 15);
    btnLogin.setOnAction(
        new EventHandler<ActionEvent>() {
          public void handle(ActionEvent event) {
            checkUser = txtUserName.getText().toString();
            checkPw = pf.getText().toString();
            if (checkUser.equals(admin.getIdentifiant()) && checkPw.equals(admin.getMotDePasse())) {
              new EcranGestionStagiaire(stage);
            } else if (checkUser.equals(util.getIdentifiant())
                && checkPw.equals(util.getMotDePasse())) {
              new EcranAffichageStagiaire(stage);
            } else {
              lblMessage.setText("Identifiant ou mot de passe erroné");
              lblMessage.setFont(Font.font("Arial", 12));
              lblMessage.setTextFill(Color.RED);
            }
            txtUserName.setText("");
            pf.setText("");
          }
        });
    panelPrincipal.setStyle("-fx-background-color: #DCDCDC");
    Scene scene = new Scene(panelPrincipal, 800, 550);
    stage.setTitle("Annuaire des stagiaires");
    stage.setScene(scene);
    stage.show();
  }