Example usage for javafx.scene.control Button setOnMouseClicked

List of usage examples for javafx.scene.control Button setOnMouseClicked

Introduction

In this page you can find the example usage for javafx.scene.control Button setOnMouseClicked.

Prototype

public final void setOnMouseClicked(EventHandler<? super MouseEvent> value) 

Source Link

Usage

From source file:ubicrypt.ui.ctrl.providers.ProvidersController.java

@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
    String fxml = substringBefore(substringAfterLast(url.getFile(), "/"), ".fxml");
    navigator = new StackNavigator(root, fxml, controllerFactory);
    providers.setCellFactory(listView -> new ListCell<ProviderItem>() {
        @Override/*from w  w w  . j  a  va2 s  . com*/
        protected void updateItem(ProviderItem pi, boolean empty) {
            super.updateItem(pi, empty);
            if (empty) {
                setText(null);
                setGraphic(null);
                return;
            }
            setContextMenu(pi.getContextMenu());
            Platform.runLater(() -> setGraphic(pi.getGraphics()));
        }
    });
    providerDescriptors.stream().forEach(pd -> {
        Button button = new Button();
        Image img = pd.getLogo().getImage();
        ImageView view = new ImageView(img);
        view.setFitWidth(30.0);
        view.setPickOnBounds(true);
        view.setPreserveRatio(true);
        button.setGraphic(view);
        button.setOnMouseClicked(mouseEvent -> {
            log.debug("adding provider :{}", pd.getCode());
            navigator.browse(format("provider/%s", pd.getCode()));
        });
        button.setTooltip(new Tooltip("Add " + pd.getDescription()));
        availableProviders.getItems().add(button);
    });

    //provider status events
    providerEvent.subscribe(pevent -> {
        UbiProvider provider = pevent.getHook().getProvider();
        if (!providers.getItems().stream().filter(pi -> pi.getProvider().equals(provider)).findFirst()
                .isPresent()) {
            log.info("add new provider:{}", pevent.getHook().getProvider());
            String code = providerDescriptors.stream().filter(pd -> pd.getType() == provider.getClass())
                    .map(ProviderDescriptor::getCode).findFirst().get();
            final ProviderItem providerItem = new ProviderItem(provider, providerDescriptors.stream()
                    .filter(pd -> pd.getType() == provider.getClass()).findFirst().get(), providerRemover,
                    navigator);
            providers.getItems().add(providerItem);
            pevent.getHook().getStatusEvents().subscribe(providerItem::changeStatus);
        }
        switch (pevent.getEvent()) {
        case removed:
            //TODO: remove provider
            break;
        default:
            log.warn("unmanaged event:{}", pevent.getEvent());
        }
        providers.getItems().stream().filter(pi -> pi.getProvider().equals(provider)).findFirst()
                .ifPresent(pi -> pi.changeStatus(pevent.getEvent()));
    });
}

From source file:dpfmanager.shell.interfaces.gui.fragment.wizard.Wizard1Fragment.java

private void addCheckBox(String id, String name, String path, boolean selected, boolean delete) {
    HBox hbox = new HBox();
    hbox.setAlignment(Pos.CENTER_LEFT);//from   w  w  w  .j a  va2  s  . c  o  m

    CheckBox chk = new CheckBox(name);
    chk.setId(id);
    chk.getStyleClass().add("checkreport");
    chk.setSelected(selected);
    chk.setEllipsisString(" ... ");
    chk.setTextOverrun(OverrunStyle.CENTER_ELLIPSIS);
    chk.setTooltip(new Tooltip(path));
    hbox.getChildren().add(chk);

    // EDIT
    Button edit = new Button();
    edit.getStyleClass().addAll("edit-img", "action-img-16");
    edit.setCursor(Cursor.HAND);
    edit.setOnMouseClicked(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent event) {
            String iso = chk.getId();
            String path = null;
            if (iso.startsWith("external")) {
                iso = chk.getText();
                path = iso;
            } else if (chk.getId().startsWith("config")) {
                iso = chk.getId().replace("config", "");
                path = DPFManagerProperties.getIsosDir() + "/" + iso;
            }
            controller.editIso(iso, path);
        }
    });
    hbox.getChildren().add(edit);
    HBox.setMargin(edit, new Insets(0, 0, 0, 10));

    // DELETE
    if (delete) {
        Button icon = new Button();
        icon.getStyleClass().addAll("delete-img", "action-img-16");
        icon.setCursor(Cursor.HAND);
        icon.setOnMouseClicked(new EventHandler<MouseEvent>() {
            @Override
            public void handle(MouseEvent event) {
                if (chk.getId().startsWith("external")) {
                    // Only from gui
                    vboxRadios.getChildren().remove(hbox);
                } else if (chk.getId().startsWith("config")) {
                    // From system
                    String name = chk.getId().replace("config", "");
                    File file = new File(DPFManagerProperties.getIsosDir() + "/" + name);
                    if (file.exists() && file.isFile() && acceptDelete(file)) {
                        file.delete();
                        vboxRadios.getChildren().remove(hbox);
                    }
                }
            }
        });
        hbox.getChildren().add(icon);
        HBox.setMargin(icon, new Insets(0, 0, 0, 10));
    }

    vboxRadios.getChildren().add(hbox);
}

From source file:dpfmanager.shell.interfaces.gui.component.report.ReportsView.java

public void addDeleteIcon() {
    colDelete.setCellFactory(new Callback<TableColumn<ReportRow, String>, TableCell<ReportRow, String>>() {
        @Override//from  w w  w .  ja  v a 2s . c  o  m
        public TableCell<ReportRow, String> call(TableColumn<ReportRow, String> param) {
            TableCell<ReportRow, String> cell = new TableCell<ReportRow, String>() {
                @Override
                public void updateItem(String item, boolean empty) {
                    super.updateItem(item, empty);
                    if (!empty && item != null) {
                        String path = getModel().getItemById(item).getDeletePath();

                        HBox box = new HBox();
                        box.setSpacing(3);
                        box.setAlignment(Pos.CENTER_LEFT);

                        Button icon = new Button();
                        icon.setMinHeight(20);
                        icon.setPrefHeight(20);
                        icon.setMaxHeight(20);
                        icon.setMinWidth(20);
                        icon.setPrefWidth(20);
                        icon.setMaxWidth(20);
                        icon.getStyleClass().addAll("delete-img", "periodic-img");
                        icon.setCursor(Cursor.HAND);
                        icon.setOnMouseClicked(new EventHandler<MouseEvent>() {
                            @Override
                            public void handle(MouseEvent event) {
                                // Delete report
                                File file = new File(path);
                                File dir = new File(file.getParent());
                                try {
                                    FileUtils.deleteDirectory(dir);
                                } catch (IOException e) {
                                    e.printStackTrace();
                                }

                                getModel().removeItem(item);
                                addData();
                            }
                        });

                        box.getChildren().add(icon);
                        setGraphic(box);
                    }
                }
            };
            return cell;
        }
    });
}

From source file:account.management.controller.NewVoucherController.java

@FXML
private void onAddNewFieldButtonClick(ActionEvent event) {

    HBox row = new HBox();
    row.setId("field_row");
    ComboBox<Account> select_account = new ComboBox<>();
    if (this.select_type.getSelectionModel().isEmpty()) {
        select_account.getItems().addAll(this.account_list);
    } else {/*from w  ww. j  a v a  2 s  .  c om*/
        select_account.getItems().addAll(this.filter_acc);
    }

    TextField dr = new TextField();
    TextField cr = new TextField();
    TextField remarks = new TextField();
    Button del_row = new Button("Delete");

    row.setSpacing(field_row.getSpacing());

    ComboBox<Account> combo = (ComboBox) field_row.getChildren().get(0);
    select_account.setPrefWidth(combo.getPrefWidth());
    select_account.setPromptText("Select account");

    TextField tf = (TextField) field_row.getChildren().get(1);
    dr.setPrefWidth(tf.getPrefWidth());
    dr.setPromptText("Dr");

    tf = (TextField) field_row.getChildren().get(2);
    cr.setPrefWidth(tf.getPrefWidth());
    cr.setPromptText("Cr");

    tf = (TextField) field_row.getChildren().get(3);
    remarks.setPrefWidth(tf.getPrefWidth());
    remarks.setPromptText("remarks");

    row.getChildren().addAll(select_account, dr, cr, remarks, del_row);
    field_container.getChildren().add(row);

    del_row.setOnMouseClicked((MouseEvent event1) -> {
        field_container.getChildren().removeAll(row);
        validateFields();
    });

    combo.setOnAction((e) -> {
        if (!combo.getSelectionModel().isEmpty() && combo.getSelectionModel().getSelectedItem().getId() == 21) {
            combo.setPromptText("Select Party");
            combo.getItems().clear();
            combo.getItems().addAll(this.filter_party_rec);
        }
        if (!combo.getSelectionModel().isEmpty() && combo.getSelectionModel().getSelectedItem().getId() == 34) {
            combo.getItems().clear();
            combo.getItems().addAll(this.filter_party_pay);
            combo.setPromptText("Select Party");
        }
    });

    new AutoCompleteComboBoxListener<>(select_account);
    select_account.setOnHiding((e) -> {
        Account a = select_account.getSelectionModel().getSelectedItem();
        select_account.setEditable(false);
        select_account.getSelectionModel().select(a);
    });
    select_account.setOnShowing((e) -> {
        select_account.setEditable(true);
    });

    validateFields();

}

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @param iNumHS/*  ww w .  jav a 2 s  .c  om*/
 * @return
 */
private static AnchorPane apAfficherListePanosVignettes(int iNumHS) {
    NavigateurPanoramique navigateurPano2;
    AnchorPane apVisuPanoHS;
    iNumeroPanoChoisitHS = -1;
    if (!getPanoramiquesProjet()[getiPanoActuel()].getHotspot(iNumHS).getStrFichierXML().equals("")) {
        for (int ii1 = 0; ii1 < getiNombrePanoramiques(); ii1++) {
            String strFichPano = getPanoramiquesProjet()[ii1].getStrNomFichier();
            String strNomXMLFile = strFichPano
                    .substring(strFichPano.lastIndexOf(File.separator) + 1, strFichPano.length())
                    .split("\\.")[0] + ".xml";
            if (strNomXMLFile
                    .equals(getPanoramiquesProjet()[getiPanoActuel()].getHotspot(iNumHS).getStrFichierXML())) {
                iNumeroPanoChoisitHS = ii1;
                strNomPanoChoisitHS = getPanoramiquesProjet()[ii1].getStrNomFichier();
            }
        }
        navigateurPano2 = new NavigateurPanoramique(
                getPanoramiquesProjet()[iNumeroPanoChoisitHS].getImgVisuPanoramique(), 0, 0, 400, 200, true);
        if (getPanoramiquesProjet()[getiPanoActuel()].getHotspot(iNumHS).getRegardX() != -1000) {
            navigateurPano2.setChoixLongitude(
                    getPanoramiquesProjet()[getiPanoActuel()].getHotspot(iNumHS).getRegardX());
        } else {
            navigateurPano2.setChoixLongitude(0);
        }
        navigateurPano2.setLongitude(navigateurPano2.getChoixLongitude());
        if (getPanoramiquesProjet()[getiPanoActuel()].getHotspot(iNumHS).getRegardY() != -1000) {
            navigateurPano2.setChoixLatitude(
                    getPanoramiquesProjet()[getiPanoActuel()].getHotspot(iNumHS).getRegardY());
        } else {
            navigateurPano2.setChoixLatitude(0);
        }
        navigateurPano2.setLatitude(navigateurPano2.getChoixLatitude());
        if (getPanoramiquesProjet()[getiPanoActuel()].getHotspot(iNumHS).getChampVisuel() != 0) {
            navigateurPano2
                    .setChoixFov(getPanoramiquesProjet()[getiPanoActuel()].getHotspot(iNumHS).getChampVisuel());
        } else {
            navigateurPano2.setChoixFov(50);
        }
        navigateurPano2.setFov(navigateurPano2.getChoixFov());
        apVisuPanoHS = navigateurPano2.affichePano();
        apVisuPanoHS.setDisable(false);

    } else {
        navigateurPano2 = new NavigateurPanoramique(
                getPanoramiquesProjet()[getiPanoActuel()].getImgVisuPanoramique(), 0, 0, 400, 200, true);
        apVisuPanoHS = navigateurPano2.affichePano();
        apVisuPanoHS.setDisable(true);
    }
    AnchorPane aplistePano = new AnchorPane();
    aplistePano.setOpacity(1);
    Pane paneFond = new Pane();
    paneFond.setOnMouseClicked((mouseEvent) -> {
        mouseEvent.consume();
    });
    paneFond.setStyle("-fx-background-color : #bbb;");
    paneFond.setPrefWidth(540);
    paneFond.setPrefHeight(((getiNombrePanoramiques() - 2) / 4 + 1) * 65 + 10 + 320);
    paneFond.setMinWidth(540);
    paneFond.setMinHeight(70);
    aplistePano.getChildren().add(paneFond);
    aplistePano.setStyle("-fx-backgroung-color : #bbb;");
    int ij = 0;
    ImageView[] ivPano;
    ivPano = new ImageView[getiNombrePanoramiques()];
    double xPos;
    double yPos;
    int iRow = 0;
    Button btnValide = new Button("Ok");
    btnValide.setPrefWidth(80);
    btnValide.setLayoutX(paneFond.getPrefWidth() - 100);
    btnValide.setLayoutY(paneFond.getPrefHeight() - 30);
    paneFond.getChildren().add(btnValide);
    btnValide.setOnMouseClicked((mouseEvent) -> {
        if (iNumeroPanoChoisitHS != -1) {
            panePanoramique.setCursor(Cursor.CROSSHAIR);
            panePanoramique.setOnMouseClicked((me1) -> {
                gereSourisPanoramique(me1);
            });
            setStrPanoListeVignette(strNomPanoChoisitHS);
            if (getPanoramiquesProjet()[iNumeroPanoChoisitHS].getStrTitrePanoramique() != null) {
                String strTexteHS = getPanoramiquesProjet()[iNumeroPanoChoisitHS].getStrTitrePanoramique();
                TextField tfTxtHS = (TextField) vbOutils.lookup("#txtHS" + iNumHS);
                tfTxtHS.setText(strTexteHS);
            }
            double latitude = Math.round(navigateurPano2.getChoixLatitude() * 10) / 10.d;
            double longitude = Math.round(navigateurPano2.getChoixLongitude() * 10) / 10.d - 180;
            double fov = Math.round(navigateurPano2.getChoixFov() * 10) / 10.d;
            longitude = longitude % 360;
            longitude = longitude < 0 ? longitude + 360 : longitude;
            longitude = longitude > 180 ? longitude - 360 : longitude;
            getPanoramiquesProjet()[getiPanoActuel()].getHotspot(iNumHS).setNumeroPano(iNumeroPanoChoisitHS);
            getPanoramiquesProjet()[getiPanoActuel()].getHotspot(iNumHS).setRegardX(longitude - 180);
            getPanoramiquesProjet()[getiPanoActuel()].getHotspot(iNumHS).setRegardY(latitude);
            getPanoramiquesProjet()[getiPanoActuel()].getHotspot(iNumHS).setChampVisuel(fov);
            getPanoramiquesProjet()[getiPanoActuel()].getHotspot(iNumHS)
                    .setImgVueHs(navigateurPano2.getImgVignetteHS());
            ComboBox cbPanos = (ComboBox) vbOutils.lookup("#cbpano" + iNumHS);
            cbPanos.getSelectionModel().select(iNumeroPanoChoisitHS);
            aplistePano.setVisible(false);
        }
        mouseEvent.consume();

    });
    for (int i = 0; i < getiNombrePanoramiques(); i++) {
        int iNumeroPano1 = i;
        String strNomPano = getPanoramiquesProjet()[i].getStrNomFichier();
        ivPano[ij] = new ImageView(getPanoramiquesProjet()[i].getImgVignettePanoramique());
        ivPano[ij].setFitWidth(120);
        ivPano[ij].setFitHeight(60);
        ivPano[ij].setSmooth(true);
        int iCol = ij % 4;
        iRow = ij / 4;
        xPos = iCol * 130 + 25;
        yPos = iRow * 65 + 15;
        ivPano[ij].setLayoutX(xPos);
        ivPano[ij].setLayoutY(yPos);
        ivPano[ij].setCursor(Cursor.HAND);
        ivPano[ij].setStyle("-fx-background-color : #ccc;");
        Tooltip tltpPano = new Tooltip(
                strNomPano.substring(strNomPano.lastIndexOf(File.separator) + 1, strNomPano.lastIndexOf(".")));
        tltpPano.setStyle(getStrTooltipStyle());
        Tooltip.install(ivPano[ij], tltpPano);
        ivPano[ij].setOnMouseClicked((mouseEvent) -> {
            iNumeroPanoChoisitHS = iNumeroPano1;
            strNomPanoChoisitHS = getPanoramiquesProjet()[iNumeroPanoChoisitHS].getStrNomFichier();
            navigateurPano2.setImagePanoramique(
                    getPanoramiquesProjet()[iNumeroPanoChoisitHS].getStrNomFichier(),
                    getPanoramiquesProjet()[iNumeroPanoChoisitHS].getImgVisuPanoramique());
            navigateurPano2.setLongitude(getPanoramiquesProjet()[iNumeroPanoChoisitHS].getRegardX() - 180);
            navigateurPano2.setLatitude(getPanoramiquesProjet()[iNumeroPanoChoisitHS].getRegardY());
            navigateurPano2.setFov(getPanoramiquesProjet()[iNumeroPanoChoisitHS].getChampVisuel());
            navigateurPano2.affiche();
            apVisuPanoHS.setDisable(false);
        });
        aplistePano.getChildren().add(ivPano[ij]);
        ij++;

    }
    int iTaille = (iRow + 1) * 65 + 5;
    apVisuPanoHS.setLayoutY(iTaille + 10);
    iTaille += 320;
    apVisuPanoHS.setLayoutX((540 - apVisuPanoHS.getPrefWidth()) / 2.d);
    aplistePano.setPrefWidth(540);
    aplistePano.setPrefHeight(iTaille);
    aplistePano.setMinWidth(540);
    aplistePano.setMinHeight(iTaille);
    aplistePano.getChildren().add(apVisuPanoHS);
    ImageView ivClose = new ImageView(
            new Image("file:" + getStrRepertAppli() + File.separator + "images/ferme.png", 20, 20, true, true));
    ivClose.setLayoutX(2);
    ivClose.setLayoutY(5);
    ivClose.setCursor(Cursor.HAND);
    aplistePano.getChildren().add(ivClose);
    ivClose.setOnMouseClicked((mouseEvent) -> {
        panePanoramique.setCursor(Cursor.CROSSHAIR);
        panePanoramique.setOnMouseClicked((mouseEvent1) -> {
            gereSourisPanoramique(mouseEvent1);
        });

        setStrPanoListeVignette("");
        aplistePano.setVisible(false);
        mouseEvent.consume();
    });
    return aplistePano;
}

From source file:editeurpanovisu.EditeurPanovisu.java

public static void creerEditerDiaporama(String strDiaporama) {
    apCreationDiaporama.getChildren().clear();
    apCreationDiaporama.setStyle("-fx-background-color : -fx-base;" + "-fx-border-color: derive(-fx-base,10%);"
            + "-fx-effect: dropshadow( three-pass-box , rgba(0,0,0,0.5) , 8, 0.0 , 0 , 8 );"
            + "-fx-border-width: 1px;");
    mbarPrincipal.setDisable(true);/*  w  w w.ja  va2  s .co  m*/
    bbarPrincipal.setDisable(true);
    hbBarreBouton.setDisable(true);
    tpEnvironnement.setDisable(true);

    Rectangle2D tailleEcran = Screen.getPrimary().getBounds();
    int iLargeurEcran = (int) tailleEcran.getWidth();
    int iHauteurEcran = (int) tailleEcran.getHeight() - 100;
    final int iLargeur = 800;
    final int iHauteur = 630;
    Label lblNomDiapo = new Label(rbLocalisation.getString("main.nomDiapo"));
    lblNomDiapo.setLayoutX(30);
    lblNomDiapo.setLayoutY(45);

    ComboBox cbListeDiapo = new ComboBox();
    cbListeDiapo.setLayoutX(150);
    cbListeDiapo.setLayoutY(40);
    cbListeDiapo.setValue("");
    for (int i = 0; i < getiNombreDiapo(); i++) {
        cbListeDiapo.getItems().add(diaporamas[i].getStrNomDiaporama());
    }

    Button btnNouveauDiapo = new Button(rbLocalisation.getString("diapo.nouveau"));
    btnNouveauDiapo.setLayoutX(iLargeur - 330);
    btnNouveauDiapo.setLayoutY(20);
    btnNouveauDiapo.setPrefSize(140, 60);

    Button btnEffaceDiapo = new Button(rbLocalisation.getString("diapo.efface"));
    btnEffaceDiapo.setLayoutX(iLargeur - 170);
    btnEffaceDiapo.setLayoutY(20);
    btnEffaceDiapo.setPrefSize(140, 60);

    gestDiapo = new GestionnaireDiaporamaController();
    gestDiapo.initDiaporama();
    apCreationDiaporama.getChildren().addAll(lblNomDiapo, cbListeDiapo, btnEffaceDiapo, btnNouveauDiapo,
            gestDiapo.apDiaporama);

    apCreationDiaporama.setPrefWidth(iLargeur);
    apCreationDiaporama.setMinWidth(iLargeur);
    apCreationDiaporama.setMaxWidth(iLargeur);
    apCreationDiaporama.setPrefHeight(iHauteur);
    apCreationDiaporama.setMinHeight(iHauteur);
    apCreationDiaporama.setMaxHeight(iHauteur);
    apCreationDiaporama.setLayoutX((iLargeurEcran - iLargeur) / 2);
    apCreationDiaporama.setLayoutY((iHauteurEcran - iHauteur) / 2);
    apCreationDiaporama.setVisible(true);

    gestDiapo.addPropertyChangeListener("valideDiapo", (e) -> {
        mbarPrincipal.setDisable(false);
        bbarPrincipal.setDisable(false);
        hbBarreBouton.setDisable(false);
        tpEnvironnement.setDisable(false);
        apCreationDiaporama.setVisible(false);
        gestDiapo.diapoSauve = true;
        boolean bTrouve = false;
        int iTrouve = -1;
        for (int i = 0; i < getiNombreDiapo(); i++) {
            if (diaporamas[i].getStrNomDiaporama().equals(cbListeDiapo.getValue())) {
                bTrouve = true;
                iTrouve = i;
            }
        }
        if (bTrouve) {
            diaporamas[iTrouve] = gestDiapo.getDiaporama();
            try {
                creeDiaporamaHTML(diaporamas[iTrouve], iTrouve);
            } catch (IOException ex) {
                Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        gestDiapo.reInit(new Diaporama());
    });

    gestDiapo.addPropertyChangeListener("visualiseDiapo", (e) -> {
        try {
            creeDiaporamaHTML(gestDiapo.getDiaporama(), -1);
        } catch (IOException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
        String strNomFichier = getStrRepertTemp() + File.separator + "diaporama" + File.separator
                + "diapo-1.html";
        webEngine.load("file:///" + strNomFichier);
        apWebview.getChildren().clear();
        browser.setPrefSize(apWebview.getPrefWidth() - 20, apWebview.getPrefHeight() - 50);
        browser.setTranslateX(10);
        browser.setTranslateY(10);
        apWebview.getChildren().add(browser);
        Button btnOk = new Button("Ok");
        btnOk.setPrefSize(100, 20);
        btnOk.setLayoutX(apWebview.getPrefWidth() - 110);
        btnOk.setLayoutY(apWebview.getPrefHeight() - 30);
        apWebview.getChildren().add(btnOk);
        apWebview.setVisible(true);
        btnOk.setOnMouseClicked((me) -> {
            apWebview.setVisible(false);
            apWebview.getChildren().clear();
        });
    });

    gestDiapo.addPropertyChangeListener("annuleDiapo", (e) -> {
        mbarPrincipal.setDisable(false);
        bbarPrincipal.setDisable(false);
        hbBarreBouton.setDisable(false);
        tpEnvironnement.setDisable(false);
        apCreationDiaporama.setVisible(false);
        gestDiapo.diapoSauve = true;
        gestDiapo.reInit(new Diaporama());
    });

    cbListeDiapo.valueProperty().addListener((ov, old_val, new_val) -> {
        if (new_val != null) {
            ButtonType reponse = null;
            ButtonType buttonTypeOui = new ButtonType(rbLocalisation.getString("main.oui"));
            ButtonType buttonTypeNon = new ButtonType(rbLocalisation.getString("main.non"));
            if (!gestDiapo.diapoSauve) {
                Alert alert = new Alert(AlertType.CONFIRMATION);
                alert.setTitle(rbLocalisation.getString("diapo.sauver"));
                alert.setHeaderText(null);
                alert.setContentText(rbLocalisation.getString("diapo.sauverTexte"));
                alert.getButtonTypes().clear();
                alert.getButtonTypes().setAll(buttonTypeOui, buttonTypeNon);
                Optional<ButtonType> actReponse = alert.showAndWait();
                reponse = actReponse.get();
            }
            if (reponse == buttonTypeOui) {

                boolean bTrouve = false;
                int iTrouve = -1;
                for (int i = 0; i < getiNombreDiapo(); i++) {
                    if (diaporamas[i].getStrNomDiaporama().equals(old_val)) {
                        bTrouve = true;
                        iTrouve = i;
                    }
                }
                if (bTrouve) {
                    diaporamas[iTrouve] = gestDiapo.getDiaporama();
                    try {
                        creeDiaporamaHTML(diaporamas[iTrouve], iTrouve);
                    } catch (IOException ex) {
                        Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }

            }
            gestDiapo.diapoSauve = true;
            boolean bTrouve = false;
            int iTrouve = -1;
            for (int i = 0; i < getiNombreDiapo(); i++) {
                if (diaporamas[i].getStrNomDiaporama().equals(new_val)) {
                    bTrouve = true;
                    iTrouve = i;
                }
            }
            if (bTrouve) {
                gestDiapo.setbDisabled(false);
                gestDiapo.reInit(diaporamas[iTrouve]);

            }

        }
    });

    btnNouveauDiapo.setOnMouseClicked((me) -> {
        ButtonType reponse = null;
        ButtonType buttonTypeOui = new ButtonType(rbLocalisation.getString("main.oui"));
        ButtonType buttonTypeNon = new ButtonType(rbLocalisation.getString("main.non"));
        if (!gestDiapo.diapoSauve) {
            Alert alert = new Alert(AlertType.CONFIRMATION);
            alert.setTitle(rbLocalisation.getString("diapo.sauver"));
            alert.setHeaderText(null);
            alert.setContentText(rbLocalisation.getString("diapo.sauverTexte"));
            alert.getButtonTypes().clear();
            alert.getButtonTypes().setAll(buttonTypeOui, buttonTypeNon);
            Optional<ButtonType> actReponse = alert.showAndWait();
            reponse = actReponse.get();
        }
        if (reponse == buttonTypeOui) {
            gestDiapo.diapoSauve = true;
            boolean bTrouve = false;
            int iTrouve = -1;
            for (int i = 0; i < getiNombreDiapo(); i++) {
                if (diaporamas[i].getStrNomDiaporama().equals(cbListeDiapo.getValue())) {
                    bTrouve = true;
                    iTrouve = i;
                }
            }
            if (bTrouve) {
                diaporamas[iTrouve] = gestDiapo.getDiaporama();
                try {
                    creeDiaporamaHTML(diaporamas[iTrouve], iTrouve);
                } catch (IOException ex) {
                    Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
                }
            }

        }

        TextInputDialog dialog = new TextInputDialog("");
        dialog.setTitle(rbLocalisation.getString("main.nomDiapo"));
        dialog.setHeaderText(null);
        dialog.setContentText(rbLocalisation.getString("diapo.entrerNom"));

        Optional<String> resultat = dialog.showAndWait();
        if (resultat.isPresent()) {
            String nomDiapo = resultat.get();
            boolean bTrouve = false;
            for (int i = 0; i < getiNombreDiapo(); i++) {
                if (diaporamas[i].getStrNomDiaporama().equals(nomDiapo)) {
                    bTrouve = true;
                }
            }
            if (!bTrouve) {
                diaporamas[getiNombreDiapo()] = new Diaporama();
                diaporamas[getiNombreDiapo()].setStrNomDiaporama(nomDiapo);
                cbListeDiapo.getItems().add(nomDiapo);
                cbListeDiapo.setValue(nomDiapo);
                gestDiapo.setbDisabled(false);
                gestDiapo.reInit(diaporamas[getiNombreDiapo()]);
                setiNombreDiapo(getiNombreDiapo() + 1);

            } else {
                Alert alert = new Alert(AlertType.ERROR);
                alert.setTitle(rbLocalisation.getString("diapo.erreur"));
                alert.setHeaderText(null);
                alert.setContentText(rbLocalisation.getString("diapo.erreurNom"));
                alert.showAndWait();

            }
        }
    });

}

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @param strNomFichierBarre/*w  ww .j av  a  2 s  .  c  om*/
 */
public static void creerEditerBarre(String strNomFichierBarre) {
    apCreationBarre.getChildren().clear();
    apCreationBarre.setStyle("-fx-background-color : -fx-base;" + "-fx-border-color: derive(-fx-base,10%);"
            + "-fx-effect: dropshadow( three-pass-box , rgba(0,0,0,0.5) , 8, 0.0 , 0 , 8 );"
            + "-fx-border-width: 1px;");

    AnchorPane apOutilsBarre = new AnchorPane();
    Button btnAnnulerBarre = new Button(rbLocalisation.getString("main.quitter"),
            new ImageView(new Image("file:" + getStrRepertAppli() + "/images/annule.png")));
    final Button btnSauverBarre = new Button(rbLocalisation.getString("main.sauver"), new ImageView(
            new Image("file:" + getStrRepertAppli() + "/images/sauveProjet.png", 24, 24, true, true, true)));
    Rectangle2D tailleEcran = Screen.getPrimary().getBounds();
    btnAjouteZone = new Button(rbLocalisation.getString("main.ajouteZone"), new ImageView(
            new Image("file:" + getStrRepertAppli() + "/images/btn+.png", 24, 24, true, true, true)));
    apImgBarrePersonnalisee = new AnchorPane();
    apImgBarrePersonnalisee.getChildren().clear();
    apZoneBarrePersonnalisee = new AnchorPane();
    apZoneBarrePersonnalisee.getChildren().clear();
    apZoneBarrePersonnalisee.setLayoutX(0);
    apZoneBarrePersonnalisee.setLayoutY(150);
    apZoneBarrePersonnalisee.setPrefWidth(300);
    apZoneBarrePersonnalisee.setPrefHeight(200);

    int iLargeurEcran = (int) tailleEcran.getWidth();
    int iHauteurEcran = (int) tailleEcran.getHeight() - 100;
    final int iLargeur = 1200;
    final int iHauteur = 600;
    mbarPrincipal.setDisable(true);
    bbarPrincipal.setDisable(true);
    hbBarreBouton.setDisable(true);
    tpEnvironnement.setDisable(true);
    apCreationBarre.setPrefWidth(iLargeur);
    apCreationBarre.setMinWidth(iLargeur);
    apCreationBarre.setMaxWidth(iLargeur);
    apCreationBarre.setPrefHeight(iHauteur);
    apCreationBarre.setMinHeight(iHauteur);
    apCreationBarre.setMaxHeight(iHauteur);
    apCreationBarre.setLayoutX((iLargeurEcran - iLargeur) / 2);
    apCreationBarre.setLayoutY((iHauteurEcran - iHauteur) / 2);
    apCreationBarre.setVisible(true);
    Label lblBarrePersonnalisee = new Label(rbLocalisation.getString("main.creeBarrePersonnalisee"));
    lblBarrePersonnalisee.setMinWidth(iLargeur - 10);
    lblBarrePersonnalisee.setAlignment(Pos.CENTER);
    lblBarrePersonnalisee.setStyle("-fx-background-color : #777;");
    lblBarrePersonnalisee.setTextFill(Color.WHITE);
    lblBarrePersonnalisee.setLayoutX(5);
    lblBarrePersonnalisee.setLayoutY(10);
    lblBarrePersonnalisee.setFont(Font.font(14));
    apCreationBarre.getChildren().add(lblBarrePersonnalisee);
    apOutilsBarre.setPrefWidth(300);
    apOutilsBarre.setMinWidth(300);
    apOutilsBarre.setMaxWidth(300);
    apOutilsBarre.setPrefHeight(iHauteur - 50);
    apOutilsBarre.setMinHeight(iHauteur - 50);
    apOutilsBarre.setMaxHeight(iHauteur - 50);
    apOutilsBarre.setLayoutX(iLargeur - 302);
    apOutilsBarre.setLayoutY(50);

    apOutilsBarre.setStyle(
            "-fx-background-color : -fx-background;-fx-border-width : 1px;-fx-border-color : transparent transparent transparent -fx-outer-border;");
    btnAnnulerBarre.setPrefWidth(120);
    btnAnnulerBarre.setLayoutX(30);
    btnAnnulerBarre.setLayoutY(iHauteur - 90);
    btnSauverBarre.setPrefWidth(120);
    btnSauverBarre.setLayoutX(160);
    btnSauverBarre.setLayoutY(iHauteur - 90);
    btnSauverBarre.setDisable(true);
    Label lblChargeImage = new Label(rbLocalisation.getString("main.chargeImage"));
    lblChargeImage.setLayoutX(20);
    lblChargeImage.setLayoutY(10);
    TextField tfChargeImage = new TextField("");
    tfChargeImage.setDisable(true);
    tfChargeImage.setPrefWidth(200);
    tfChargeImage.setLayoutX(50);
    tfChargeImage.setLayoutY(40);
    Button btnChargeImage = new Button("...");
    btnChargeImage.setLayoutX(260);
    btnChargeImage.setLayoutY(40);
    final CheckBox cbMasqueZones = new CheckBox(rbLocalisation.getString("main.masqueZones"));
    cbMasqueZones.setDisable(true);
    cbMasqueZones.setLayoutX(20);
    cbMasqueZones.setLayoutY(70);
    btnAjouteZone.setLayoutX(130);
    btnAjouteZone.setLayoutY(110);
    btnAjouteZone.setDisable(true);
    apOutilsBarre.getChildren().addAll(lblChargeImage, tfChargeImage, btnChargeImage, cbMasqueZones,
            btnAjouteZone, apZoneBarrePersonnalisee, btnAnnulerBarre, btnSauverBarre);

    apCreationBarre.getChildren().addAll(apImgBarrePersonnalisee, apOutilsBarre);
    if (!strNomFichierBarre.equals("")) {
        lblChargeImage.setVisible(false);
        tfChargeImage.setVisible(false);
        btnChargeImage.setVisible(false);
        String strNomFichier = strNomFichierBarre;
        strNomFichier = strNomFichier.substring(0, strNomFichier.length() - 4);
        strNomFichierShp = strNomFichier + ".shp";
        String strNomFichierPng = strNomFichier + ".png";
        File fichPng = new File(strNomFichierPng);
        if (fichPng.exists()) {
            try {
                btnAjouteZone.setDisable(false);
                imgBarrePersonnalisee = new Image("file:" + fichPng);
                iNombreZones = getGestionnaireInterface().lisFichierShp(strNomFichierShp, zones);
                btnSauverBarre.setDisable(false);
                if (iNombreZones > 0) {
                    cbMasqueZones.setDisable(false);
                }
                afficheBarrePersonnalisee(iLargeur, iHauteur, false);

            } catch (IOException ex) {
                Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
            }

        }
    }

    btnAnnulerBarre.setOnMouseClicked((t) -> {
        mbarPrincipal.setDisable(false);
        bbarPrincipal.setDisable(false);
        hbBarreBouton.setDisable(false);
        tpEnvironnement.setDisable(false);
        apCreationBarre.setVisible(false);
    });

    btnAjouteZone.setOnMouseClicked((t) -> {
        btnAjouteZone.setDisable(true);
        ajouterZone(iLargeur, iHauteur, false);
    });
    btnChargeImage.setOnMouseClicked((t) -> {
        strRepertBarrePersonnalisee = getStrRepertAppli() + "/theme/telecommandes";
        File fileRepert;
        fileRepert = new File(strRepertBarrePersonnalisee);
        FileChooser fileChooser = new FileChooser();
        FileChooser.ExtensionFilter efShpFilter = new FileChooser.ExtensionFilter(
                "Fichiers barre personnalise (SHP)", "*.shp", "*.png");

        fileChooser.setInitialDirectory(fileRepert);
        fileChooser.getExtensionFilters().addAll(efShpFilter);

        File fileFichierImage = fileChooser.showOpenDialog(null);
        if (fileFichierImage != null) {
            String strNomFichier = fileFichierImage.getAbsolutePath();
            strNomFichier = strNomFichier.substring(0, strNomFichier.length() - 4);
            strNomFichierShp = strNomFichier + ".shp";
            String strNomFichierPng = strNomFichier + ".png";
            File fileFichierPng = new File(strNomFichierPng);
            if (fileFichierPng.exists()) {
                try {
                    btnAjouteZone.setDisable(false);
                    imgBarrePersonnalisee = new Image("file:" + fileFichierPng);
                    iNombreZones = getGestionnaireInterface().lisFichierShp(strNomFichierShp, zones);
                    btnSauverBarre.setDisable(false);
                    if (iNombreZones > 0) {
                        cbMasqueZones.setDisable(false);
                    }
                    afficheBarrePersonnalisee(iLargeur, iHauteur, false);

                } catch (IOException ex) {
                    Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
    });

    btnSauverBarre.setOnMouseClicked((t) -> {
        try {
            sauverBarre(strNomFichierShp);
            getGestionnaireInterface().chargeBarrePersonnalisee(strNomFichierBarre);

        } catch (IOException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
    });
    cbMasqueZones.selectedProperty()
            .addListener((ObservableValue<? extends Boolean> ov, Boolean old_val, Boolean new_val) -> {
                afficheBarrePersonnalisee(iLargeur, iHauteur, new_val);
            });

}

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @param iLargeur/*  w w  w.  ja va2  s.  co m*/
 * @param iHauteur
 * @param bMasqueZones
 */
private static void ajouterZone(int iLargeur, int iHauteur, boolean bMasqueZones) {
    if (iNombreZones == -1) {
        iNombreZones = 0;
    }
    final ZoneTelecommande zone = new ZoneTelecommande();
    strTypeZone = "poly";
    zone.setStrTypeZone(strTypeZone);
    iNombrePointsZone = 0;
    bRecommenceZone = false;
    apZoneBarrePersonnalisee.getChildren().clear();
    Button btnAnnuler = new Button(rbLocalisation.getString("main.annuler"),
            new ImageView(new Image("file:" + getStrRepertAppli() + "/images/annule.png")));
    Button btnValider = new Button(rbLocalisation.getString("main.valider"),
            new ImageView(new Image("file:" + getStrRepertAppli() + "/images/valide.png")));
    btnValider.setLayoutX(180);
    btnValider.setLayoutY(170);
    btnAnnuler.setLayoutX(80);
    btnAnnuler.setLayoutY(170);
    ToggleGroup tgTypeZone = new ToggleGroup();
    Label lblTypeZone = new Label(rbLocalisation.getString("main.typeZone"));
    lblTypeZone.setLayoutX(20);
    lblTypeZone.setLayoutY(10);

    RadioButton rbCercleZone = new RadioButton(rbLocalisation.getString("main.cercle"));
    rbCercleZone.setLayoutX(20);
    rbCercleZone.setLayoutY(40);
    rbCercleZone.setUserData("circle");
    rbCercleZone.setToggleGroup(tgTypeZone);
    RadioButton rbRectZone = new RadioButton(rbLocalisation.getString("main.rectangle"));
    rbRectZone.setLayoutX(120);
    rbRectZone.setLayoutY(40);
    rbRectZone.setUserData("rect");
    rbRectZone.setToggleGroup(tgTypeZone);
    RadioButton rbPolyZone = new RadioButton(rbLocalisation.getString("main.polygone"));
    rbPolyZone.setLayoutX(220);
    rbPolyZone.setLayoutY(40);
    rbPolyZone.setUserData("poly");
    rbPolyZone.setToggleGroup(tgTypeZone);
    rbPolyZone.setSelected(true);
    ComboBox cbTouchesBarre = new ComboBox();
    cbTouchesBarre.getItems().clear();
    for (int i = 0; i < strTouchesBarre.length; i++) {
        cbTouchesBarre.getItems().add(i, strTouchesBarre[i]);
    }
    cbTouchesBarre.setLayoutX(50);
    cbTouchesBarre.setLayoutY(110);

    afficheBarrePersonnalisee(iLargeur, iHauteur, bMasqueZones);
    AnchorPane apCreeZone = new AnchorPane();
    apCreeZone.setStyle("-fx-background-color : rgba(0,0,0,0.1)");
    apCreeZone.setPrefWidth(imgBarrePersonnalisee.getWidth());
    apCreeZone.setPrefHeight(imgBarrePersonnalisee.getHeight());
    apCreeZone.setCursor(Cursor.CROSSHAIR);
    apImgBarrePersonnalisee.getChildren().add(apCreeZone);
    apZoneBarrePersonnalisee.getChildren().addAll(lblTypeZone, rbCercleZone, rbRectZone, rbPolyZone,
            cbTouchesBarre, btnAnnuler, btnValider);
    apCreeZone.setOnMouseClicked((t) -> {
        rbCercleZone.setDisable(true);
        rbRectZone.setDisable(true);
        rbPolyZone.setDisable(true);
        iNombrePointsZone++;
        switch (strTypeZone) {
        case "rect":
            if (iNombrePointsZone == 1) {
                apCreeZone.getChildren().clear();
                x1Zone = t.getX();
                y1Zone = t.getY();
                Circle cercle = new Circle(t.getX(), t.getY(), 4);
                cercle.setFill(Color.rgb(255, 0, 0, 0.5));
                cercle.setStroke(Color.YELLOW);
                apCreeZone.getChildren().add(cercle);
            }
            if (iNombrePointsZone == 2) {
                apCreeZone.getChildren().clear();
                Rectangle rect = new Rectangle(x1Zone, y1Zone, t.getX() - x1Zone, t.getY() - y1Zone);
                rect.setFill(Color.rgb(255, 0, 0, 0.5));
                rect.setStroke(Color.YELLOW);
                apCreeZone.getChildren().add(rect);
                String chaine = Math.round(x1Zone * 10) / 10 + "," + Math.round(y1Zone * 10) / 10 + ","
                        + Math.round(t.getX() * 10) / 10 + "," + Math.round(t.getY() * 10) / 10;
                zone.setStrCoordonneesZone(chaine);
                iNombrePointsZone = 0;
            }
            break;
        case "circle":
            if (iNombrePointsZone == 1) {
                apCreeZone.getChildren().clear();
                x1Zone = t.getX();
                y1Zone = t.getY();
                Circle cercle = new Circle(t.getX(), t.getY(), 4);
                cercle.setFill(Color.rgb(255, 0, 0, 0.5));
                cercle.setStroke(Color.YELLOW);
                apCreeZone.getChildren().add(cercle);
            }
            if (iNombrePointsZone == 2) {
                apCreeZone.getChildren().clear();
                double rayon = Math.sqrt(Math.pow(x1Zone - t.getX(), 2.d) + Math.pow(y1Zone - t.getY(), 2.d));
                Circle cercle = new Circle(x1Zone, y1Zone, rayon);
                cercle.setFill(Color.rgb(255, 0, 0, 0.5));
                cercle.setStroke(Color.YELLOW);
                apCreeZone.getChildren().add(cercle);
                String chaine = Math.round(x1Zone * 10) / 10 + "," + Math.round(y1Zone * 10) / 10 + ","
                        + Math.round(rayon * 10) / 10;
                zone.setStrCoordonneesZone(chaine);
                iNombrePointsZone = 0;
            }
            break;
        case "poly":
            if (bRecommenceZone) {
                bRecommenceZone = false;
                iNombrePointsZone = 1;
            }
            if (iNombrePointsZone == 1) {
                apCreeZone.getChildren().clear();
                x1Zone = t.getX();
                y1Zone = t.getY();
                Circle cercle = new Circle(t.getX(), t.getY(), 4);
                cercle.setFill(Color.rgb(255, 0, 0, 0.5));
                cercle.setStroke(Color.YELLOW);
                apCreeZone.getChildren().add(cercle);
                pointsPolyZone[(iNombrePointsZone - 1) * 2] = t.getX();
                pointsPolyZone[(iNombrePointsZone - 1) * 2 + 1] = t.getY();
            }
            if (iNombrePointsZone == 2) {
                apCreeZone.getChildren().clear();
                Line ligne = new Line(x1Zone, y1Zone, t.getX(), t.getY());
                ligne.setStroke(Color.YELLOW);
                apCreeZone.getChildren().add(ligne);
                pointsPolyZone[(iNombrePointsZone - 1) * 2] = t.getX();
                pointsPolyZone[(iNombrePointsZone - 1) * 2 + 1] = t.getY();
            }
            if (iNombrePointsZone > 2) {
                pointsPolyZone[(iNombrePointsZone - 1) * 2] = t.getX();
                pointsPolyZone[(iNombrePointsZone - 1) * 2 + 1] = t.getY();
                apCreeZone.getChildren().clear();
                Polygon poly = new Polygon();
                for (int i = 0; i < iNombrePointsZone; i++) {
                    poly.getPoints().addAll(pointsPolyZone[i * 2], pointsPolyZone[i * 2 + 1]);
                }
                poly.setFill(Color.rgb(255, 0, 0, 0.5));
                poly.setStroke(Color.YELLOW);
                apCreeZone.getChildren().add(poly);
            }
            if (t.getClickCount() == 2) {
                String chaine = "";
                for (int i = 0; i < iNombrePointsZone; i++) {
                    if (i != 0) {
                        chaine += ",";
                    }
                    chaine += Math.round(pointsPolyZone[i * 2] * 10) / 10 + ","
                            + Math.round(pointsPolyZone[i * 2 + 1] * 10) / 10;
                }
                zone.setStrCoordonneesZone(chaine);
                bRecommenceZone = true;
            }
            break;
        }
    });

    apCreeZone.setOnMouseMoved((t) -> {
        switch (strTypeZone) {
        case "rect":
            if (iNombrePointsZone == 1) {
                apCreeZone.getChildren().clear();
                Rectangle rect = new Rectangle(x1Zone, y1Zone, t.getX() - x1Zone, t.getY() - y1Zone);
                rect.setFill(Color.rgb(255, 0, 0, 0.5));
                rect.setStroke(Color.YELLOW);
                apCreeZone.getChildren().add(rect);
            }
            break;
        case "circle":
            if (iNombrePointsZone == 1) {
                apCreeZone.getChildren().clear();
                double rayon = Math.sqrt(Math.pow(x1Zone - t.getX(), 2.d) + Math.pow(y1Zone - t.getY(), 2.d));
                Circle cercle = new Circle(x1Zone, y1Zone, rayon);
                cercle.setFill(Color.rgb(255, 0, 0, 0.5));
                cercle.setStroke(Color.YELLOW);
                apCreeZone.getChildren().add(cercle);
            }
            break;
        case "poly":
            if (!bRecommenceZone) {
                if (iNombrePointsZone == 1) {
                    apCreeZone.getChildren().clear();
                    Line ligne = new Line(x1Zone, y1Zone, t.getX(), t.getY());
                    ligne.setStroke(Color.YELLOW);
                    apCreeZone.getChildren().add(ligne);
                }
                if (iNombrePointsZone > 1) {
                    apCreeZone.getChildren().clear();
                    Polygon poly = new Polygon();
                    for (int i = 0; i < iNombrePointsZone; i++) {
                        poly.getPoints().addAll(pointsPolyZone[i * 2], pointsPolyZone[i * 2 + 1]);
                    }
                    poly.getPoints().addAll(t.getX(), t.getY());
                    poly.setFill(Color.rgb(255, 0, 0, 0.5));
                    poly.setStroke(Color.YELLOW);
                    apCreeZone.getChildren().add(poly);
                }
            }
            break;
        }
    });

    btnValider.setOnMouseClicked((t) -> {
        if (strTypeZone.equals("poly")) {
            String strChaine = "";
            for (int i = 0; i < iNombrePointsZone; i++) {
                if (i != 0) {
                    strChaine += ",";
                }
                strChaine += Math.round(pointsPolyZone[i * 2] * 10) / 10 + ","
                        + Math.round(pointsPolyZone[i * 2 + 1] * 10) / 10;
            }
            zone.setStrCoordonneesZone(strChaine);

        }
        zones[iNombreZones] = zone;
        iNombreZones++;
        afficheBarrePersonnalisee(iLargeur, iHauteur, bMasqueZones);
        btnAjouteZone.setDisable(false);
    });

    btnAnnuler.setOnMouseClicked((t) -> {
        afficheBarrePersonnalisee(iLargeur, iHauteur, bMasqueZones);
        btnAjouteZone.setDisable(false);
    });

    cbTouchesBarre.valueProperty().addListener((ov, strAncienneValeur, strNouvelleValeur) -> {
        if (strNouvelleValeur != null) {
            String strId = strCodeBarre[cbTouchesBarre.getSelectionModel().getSelectedIndex()];
            zone.setStrIdZone(strId);
        }
    });

    tgTypeZone.selectedToggleProperty()
            .addListener((ObservableValue<? extends Toggle> ov, Toggle old_toggle, Toggle new_toggle) -> {
                if (tgTypeZone.getSelectedToggle() != null) {
                    strTypeZone = tgTypeZone.getSelectedToggle().getUserData().toString();
                    zone.setStrTypeZone(strTypeZone);
                }
            });

}