Example usage for javafx.stage FileChooser FileChooser

List of usage examples for javafx.stage FileChooser FileChooser

Introduction

In this page you can find the example usage for javafx.stage FileChooser FileChooser.

Prototype

FileChooser

Source Link

Usage

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 *///from  w  w  w .  j  a v  a2  s .  c o m
private void modeleCharger() throws IOException {
    FileChooser repertChoix = new FileChooser();
    FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("fichier panoVisu (*.tpl)",
            "*.tpl");
    repertChoix.getExtensionFilters().add(extFilter);
    File repert = new File(repertAppli + File.separator + "templates");
    repertChoix.setInitialDirectory(repert);
    File fichtemplate = repertChoix.showOpenDialog(stPrincipal);
    if (fichtemplate != null) {
        FileReader fr;
        try {
            fr = new FileReader(fichtemplate);
            List<String> texte = new ArrayList<>();
            BufferedReader br = new BufferedReader(fr);

            String ligneTexte;
            while ((ligneTexte = br.readLine()) != null) {
                texte.add(ligneTexte);
            }
            System.out.println(texte);
            gestionnaireInterface.setTemplate(texte);
            gestionnaireInterface.afficheTemplate();

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

    }

}

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @param i/*from w w w .  j  ava 2s  .c  o m*/
 * @param longitude
 * @param latitude
 */
private static void afficheHSImage(int i, double longitude, double latitude) {
    double largeur = ivImagePanoramique.getFitWidth();
    double X = (longitude + 180.0d) * largeur / 360.0d + ivImagePanoramique.getLayoutX();
    double Y = (90.0d - latitude) * largeur / 360.0d;
    Circle circPoint = new Circle(X, Y, 5);
    circPoint.setFill(Color.BLUE);
    circPoint.setStroke(Color.YELLOW);
    circPoint.setId("img" + i);
    circPoint.setCursor(Cursor.DEFAULT);
    panePanoramique.getChildren().add(circPoint);
    Tooltip tltpHSImage = new Tooltip("image #" + (i + 1));
    tltpHSImage.setStyle(getStrTooltipStyle());
    Tooltip.install(circPoint, tltpHSImage);
    circPoint.setOnDragDetected((mouseEvent1) -> {
        circPoint.setFill(Color.YELLOW);
        circPoint.setStroke(Color.BLUE);
        bDragDrop = true;
        mouseEvent1.consume();

    });
    circPoint.setOnMouseDragged((mouseEvent1) -> {
        double XX = mouseEvent1.getX() - ivImagePanoramique.getLayoutX();
        if (XX < 0) {
            XX = 0;
        }
        if (XX > ivImagePanoramique.getFitWidth()) {
            XX = ivImagePanoramique.getFitWidth();
        }
        circPoint.setCenterX(XX + ivImagePanoramique.getLayoutX());
        double YY = mouseEvent1.getY();
        if (YY < 0) {
            YY = 0;
        }
        if (YY > ivImagePanoramique.getFitHeight()) {
            YY = ivImagePanoramique.getFitHeight();
        }
        circPoint.setCenterY(YY);
        afficheLoupe(XX, YY);
        mouseEvent1.consume();

    });
    circPoint.setOnMouseReleased((mouseEvent1) -> {
        String strPoint = circPoint.getId();
        strPoint = strPoint.substring(3, strPoint.length());
        int iNumeroPoint = Integer.parseInt(strPoint);
        double X1 = mouseEvent1.getSceneX();
        double Y1 = mouseEvent1.getSceneY();
        double mouseX = X1 - ivImagePanoramique.getLayoutX();
        if (mouseX < 0) {
            mouseX = 0;
        }
        if (mouseX > ivImagePanoramique.getFitWidth()) {
            mouseX = ivImagePanoramique.getFitWidth();
        }
        double mouseY = Y1 - panePanoramique.getLayoutY() - 130 - getiDecalageMac();
        if (mouseY < 0) {
            mouseY = 0;
        }
        if (mouseY > ivImagePanoramique.getFitHeight()) {
            mouseY = ivImagePanoramique.getFitHeight();
        }

        double longit, lat;
        double larg = ivImagePanoramique.getFitWidth();
        String strLong, strLat;
        longit = 360.0f * mouseX / larg - 180;
        lat = 90.0d - 2.0f * mouseY / larg * 180.0f;
        getPanoramiquesProjet()[getiPanoActuel()].getHotspotImage(iNumeroPoint).setLatitude(lat);
        getPanoramiquesProjet()[getiPanoActuel()].getHotspotImage(iNumeroPoint).setLongitude(longit);
        circPoint.setFill(Color.BLUE);
        circPoint.setStroke(Color.YELLOW);
        mouseEvent1.consume();

    });

    circPoint.setOnMouseClicked((mouseEvent1) -> {
        String strPoint = circPoint.getId();
        strPoint = strPoint.substring(3, strPoint.length());
        int iNum = Integer.parseInt(strPoint);
        Node nodePointImage;
        nodePointImage = (Node) panePanoramique.lookup("#img" + strPoint);

        if (mouseEvent1.isControlDown()) {
            valideHS();
            setbDejaSauve(false);
            getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
            panePanoramique.getChildren().remove(nodePointImage);

            for (int io = iNum + 1; io < getiNumImages(); io++) {
                nodePointImage = (Node) panePanoramique.lookup("#img" + Integer.toString(io));
                nodePointImage.setId("img" + Integer.toString(io - 1));
            }
            /**
             * on retire les anciennes indication de HS
             */
            retireAffichageHotSpots();
            setiNumImages(getiNumImages() - 1);
            getPanoramiquesProjet()[getiPanoActuel()].removeHotspotImage(iNum);
            /**
             * On les cre les nouvelles
             */
            ajouteAffichageHotspots();
            mouseEvent1.consume();
        } else {
            if (!bDragDrop) {
                File fileRepert;
                if (getStrRepertHSImages().equals("")) {
                    fileRepert = new File(getStrCurrentDir() + File.separator);
                } else {
                    fileRepert = new File(getStrRepertHSImages());
                }
                FileChooser fileChooser = new FileChooser();
                FileChooser.ExtensionFilter extFilterImages = new FileChooser.ExtensionFilter(
                        "Fichiers Images (jpg, bmp, png)", "*.jpg", "*.bmp", "*.png");

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

                File fileFichierImage = fileChooser.showOpenDialog(null);
                if (fileFichierImage != null) {
                    setStrRepertHSImages(fileFichierImage.getParent());
                    HotspotImage HS = getPanoramiquesProjet()[getiPanoActuel()].getHotspotImage(iNum);
                    HS.setStrUrlImage(fileFichierImage.getAbsolutePath());
                    HS.setStrLienImg(fileFichierImage.getName());
                    HS.setStrInfo(fileFichierImage.getName().split("\\.")[0]);
                    File fileRepertImage = new File(getStrRepertTemp() + File.separator + "images");
                    if (!fileRepertImage.exists()) {
                        fileRepertImage.mkdirs();
                    }
                    try {
                        copieFichierRepertoire(fileFichierImage.getAbsolutePath(),
                                fileRepertImage.getAbsolutePath());

                    } catch (IOException ex) {
                        Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    getPanoramiquesProjet()[getiPanoActuel()].setHotspotImage(HS, iNum);
                    retireAffichageHotSpots();
                    Pane affHS1 = paneAffichageHS(strListePano(), getiPanoActuel());
                    affHS1.setId("labels");
                    vbVisuHotspots.getChildren().add(affHS1);
                }
            } else {
                bDragDrop = false;
            }
            mouseEvent1.consume();
        }

    });
}

From source file:fr.amap.lidar.amapvox.gui.MainFrameController.java

@FXML
private void onActionButtonExportALSLidarShots(ActionEvent event) {

    File alsFile = new File(textFieldInputFileALS.getText());

    if (!alsFile.exists()) {
        showErrorDialog(new Exception("File does not exist."));
        return;/*from  ww  w.j  a  va  2  s.  c om*/
    } else if (!alsFile.isFile()) {
        showErrorDialog(new Exception("Input is not a file."));
        return;
    } else if (trajectoryFile == null || !trajectoryFile.exists() || !trajectoryFile.isFile()) {
        showErrorDialog(new Exception("Invalid trajectory file."));
        return;
    }

    FileChooser fc = new FileChooser();
    File selectedFile = fc.showSaveDialog(stage);

    if (selectedFile == null) {
        return;
    }

    while (!selectedFile.getName().endsWith(".sht")) {

        fc.setInitialFileName(selectedFile.getName() + ".sht");
        fc.setInitialDirectory(new File(selectedFile.getParent()));
        selectedFile = fc.showSaveDialog(stage);

        if (selectedFile == null) {
            return;
        }
    }

    PointsToShot pts = new PointsToShot(trajectoryFile, alsFile,
            MatrixUtility.convertMatrix4dToMat4D(vopMatrix));

    try {
        pts.init();
    } catch (Exception ex) {
        showErrorDialog(ex);
        return;
    }

    try {
        pts.write(selectedFile);
    } catch (Exception ex) {
        showErrorDialog(ex);
    }
}

From source file:fr.amap.lidar.amapvox.gui.MainFrameController.java

@FXML
private void onActionButtonSavePdf(ActionEvent event) {

    FileChooser fc = new FileChooser();

    File selectedFile = fc.showSaveDialog(stage);

    if (selectedFile != null) {

        XYSeries serie = generatePDFSerie();

        try (BufferedWriter writer = new BufferedWriter(new FileWriter(selectedFile))) {

            writer.write("Angle(degrees) pdf\n");

            for (Object o : serie.getItems()) {
                writer.write(((XYDataItem) o).getX() + " " + ((XYDataItem) o).getY() + "\n");
            }//from   w  w w  .  j  a v a 2s. c om

        } catch (IOException ex) {
            showErrorDialog(ex);
        }

    }

}

From source file:fr.amap.lidar.amapvox.gui.MainFrameController.java

@FXML
private void onActionButtonSaveGTheta(ActionEvent event) {

    FileChooser fc = new FileChooser();

    File selectedFile = fc.showSaveDialog(stage);

    if (selectedFile != null) {

        XYSeries serie = generateGThetaSerie();

        try (BufferedWriter writer = new BufferedWriter(new FileWriter(selectedFile))) {

            writer.write("Angle(degrees) gtheta\n");

            for (Object o : serie.getItems()) {
                writer.write(((XYDataItem) o).getX() + " " + ((XYDataItem) o).getY() + "\n");
            }// w  ww. j a v a2 s . c  o  m

        } catch (IOException ex) {
            showErrorDialog(ex);
        }

    }
}

From source file:org.simmi.GeneSetHead.java

License:asdf

public void newFile() {
    FileChooser fc = new FileChooser();
    fc.getExtensionFilters().add(new ExtensionFilter("Zip files", "*.zip"));
    File f = fc.showSaveDialog(null);
    geneset.zippath = f.toPath();/*from w  w w .j a v  a2 s .  c  om*/
}

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @param X/*from   w w w . j  ava2 s  .  co  m*/
 * @param Y
 */
private static void panoAjouteImage(double X, double Y) {
    if (X > 0 && X < ivImagePanoramique.getFitWidth()) {
        valideHS();
        setbDejaSauve(false);
        getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");

        double mouseX = X;
        double mouseY = Y - panePanoramique.getLayoutY() - 130 - getiDecalageMac();
        double longitude, latitude;
        double largeur = ivImagePanoramique.getFitWidth();
        longitude = 360.0f * mouseX / largeur - 180;
        latitude = 90.0d - 2.0f * mouseY / largeur * 180.0f;
        Circle circPoint = new Circle(mouseX + ivImagePanoramique.getLayoutX(), mouseY, 5);
        circPoint.setFill(Color.BLUE);
        circPoint.setStroke(Color.YELLOW);
        circPoint.setId("img" + getiNumImages());
        circPoint.setCursor(Cursor.DEFAULT);
        panePanoramique.getChildren().add(circPoint);
        Tooltip tltpImage = new Tooltip("image n " + (getiNumImages() + 1));
        tltpImage.setStyle(getStrTooltipStyle());
        Tooltip.install(circPoint, tltpImage);
        File fileRepert;
        if (getStrRepertHSImages().equals("")) {
            fileRepert = new File(getStrCurrentDir() + File.separator);
        } else {
            fileRepert = new File(getStrRepertHSImages());
        }
        FileChooser fileChooser = new FileChooser();
        FileChooser.ExtensionFilter extFilterImages = new FileChooser.ExtensionFilter(
                "Fichiers Images (jpg, bmp, png)", "*.jpg", "*.bmp", "*.png");

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

        File fileFichierImage = fileChooser.showOpenDialog(null);
        if (fileFichierImage != null) {
            setStrRepertHSImages(fileFichierImage.getParent());
            setiNumImages(getiNumImages() + 1);
            HotspotImage HS = new HotspotImage();
            HS.setLongitude(longitude);
            HS.setLatitude(latitude);
            HS.setStrUrlImage(fileFichierImage.getAbsolutePath());
            HS.setStrLienImg(fileFichierImage.getName());
            HS.setStrInfo(fileFichierImage.getName().split("\\.")[0]);
            File fileRepertImage = new File(getStrRepertTemp() + File.separator + "images");
            if (!fileRepertImage.exists()) {
                fileRepertImage.mkdirs();
            }
            try {
                copieFichierRepertoire(fileFichierImage.getAbsolutePath(), fileRepertImage.getAbsolutePath());

            } catch (IOException ex) {
                Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
            }
            getPanoramiquesProjet()[getiPanoActuel()].addHotspotImage(HS);
            retireAffichageHotSpots();
            dejaCharge = false;
            Pane affHS1 = paneAffichageHS(strListePano(), getiPanoActuel());
            affHS1.setId("labels");
            vbVisuHotspots.getChildren().add(affHS1);
            spPanneauOutils.setVvalue(spPanneauOutils.getVvalue() + 300);

        } else {
            String strPoint = circPoint.getId();
            strPoint = strPoint.substring(3, strPoint.length());
            Node nodeImage = (Node) panePanoramique.lookup("#img" + strPoint);
            panePanoramique.getChildren().remove(nodeImage);
        }
        valideHS();
        circPoint.setOnDragDetected((mouseEvent1) -> {
            circPoint.setFill(Color.YELLOW);
            circPoint.setStroke(Color.BLUE);
            bDragDrop = true;
            mouseEvent1.consume();

        });
        circPoint.setOnMouseDragged((mouseEvent1) -> {
            double XX = mouseEvent1.getX() - ivImagePanoramique.getLayoutX();
            if (XX < 0) {
                XX = 0;
            }
            if (XX > ivImagePanoramique.getFitWidth()) {
                XX = ivImagePanoramique.getFitWidth();
            }
            circPoint.setCenterX(XX + ivImagePanoramique.getLayoutX());
            double YY = mouseEvent1.getY();
            if (YY < 0) {
                YY = 0;
            }
            if (YY > ivImagePanoramique.getFitHeight()) {
                YY = ivImagePanoramique.getFitHeight();
            }
            circPoint.setCenterY(YY);
            afficheLoupe(XX, YY);

            mouseEvent1.consume();

        });
        circPoint.setOnMouseReleased((mouseEvent1) -> {
            setbDejaSauve(false);
            getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
            String strPoint = circPoint.getId();
            strPoint = strPoint.substring(3, strPoint.length());
            int iNumeroPoint = Integer.parseInt(strPoint);
            double X1 = mouseEvent1.getSceneX();
            double Y1 = mouseEvent1.getSceneY();
            double mouseX1 = X1 - ivImagePanoramique.getLayoutX();
            if (mouseX1 < 0) {
                mouseX1 = 0;
            }
            if (mouseX1 > ivImagePanoramique.getFitWidth()) {
                mouseX1 = ivImagePanoramique.getFitWidth();
            }

            double mouseY1 = Y1 - panePanoramique.getLayoutY() - 130 - getiDecalageMac();
            if (mouseY1 < 0) {
                mouseY1 = 0;
            }
            if (mouseY1 > ivImagePanoramique.getFitHeight()) {
                mouseY1 = ivImagePanoramique.getFitHeight();
            }

            double longit, lat;
            double larg = ivImagePanoramique.getFitWidth();
            longit = 360.0f * mouseX1 / larg - 180;
            lat = 90.0d - 2.0f * mouseY1 / larg * 180.0f;
            getPanoramiquesProjet()[getiPanoActuel()].getHotspotImage(iNumeroPoint).setLatitude(lat);
            getPanoramiquesProjet()[getiPanoActuel()].getHotspotImage(iNumeroPoint).setLongitude(longit);
            circPoint.setFill(Color.BLUE);
            circPoint.setStroke(Color.YELLOW);
            mouseEvent1.consume();

        });

        circPoint.setOnMouseClicked((mouseEvent1) -> {
            String strPoint = circPoint.getId();
            strPoint = strPoint.substring(3, strPoint.length());
            int iNum = Integer.parseInt(strPoint);
            if (mouseEvent1.isControlDown()) {
                setbDejaSauve(false);
                getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
                Node nodeImage;
                nodeImage = (Node) panePanoramique.lookup("#img" + strPoint);
                panePanoramique.getChildren().remove(nodeImage);

                for (int io = iNum + 1; io < getiNumImages(); io++) {
                    nodeImage = (Node) panePanoramique.lookup("#img" + Integer.toString(io));
                    nodeImage.setId("img" + Integer.toString(io - 1));
                }
                /**
                 * on retire les anciennes indication de HS
                 */
                retireAffichageHotSpots();
                setiNumImages(getiNumImages() - 1);
                getPanoramiquesProjet()[getiPanoActuel()].removeHotspotImage(iNum);
                /**
                 * On les cre les nouvelles
                 */
                ajouteAffichageHotspots();
            } else {
                if (!bDragDrop) {
                    setbDejaSauve(false);
                    getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
                    File fileRepert1;
                    if (getStrRepertHSImages().equals("")) {
                        fileRepert1 = new File(getStrCurrentDir() + File.separator);
                    } else {
                        fileRepert1 = new File(getStrRepertHSImages());
                    }
                    FileChooser fileChooser1 = new FileChooser();
                    FileChooser.ExtensionFilter extFilterImages1 = new FileChooser.ExtensionFilter(
                            "Fichiers Images (jpg, bmp, png)", "*.jpg", "*.bmp", "*.png");

                    fileChooser1.setInitialDirectory(fileRepert1);
                    fileChooser1.getExtensionFilters().addAll(extFilterImages1);

                    File fileFichierImage1 = fileChooser1.showOpenDialog(null);
                    if (fileFichierImage1 != null) {
                        setStrRepertHSImages(fileFichierImage1.getParent());
                        HotspotImage HS = getPanoramiquesProjet()[getiPanoActuel()].getHotspotImage(iNum);
                        HS.setStrUrlImage(fileFichierImage1.getAbsolutePath());
                        HS.setStrLienImg(fileFichierImage1.getName());
                        HS.setStrInfo(fileFichierImage1.getName().split("\\.")[0]);
                        File fileRepertImage = new File(getStrRepertTemp() + File.separator + "images");
                        if (!fileRepertImage.exists()) {
                            fileRepertImage.mkdirs();
                        }
                        try {
                            copieFichierRepertoire(fileFichierImage1.getAbsolutePath(),
                                    fileRepertImage.getAbsolutePath());

                        } catch (IOException ex) {
                            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        getPanoramiquesProjet()[getiPanoActuel()].setHotspotImage(HS, iNum);
                        retireAffichageHotSpots();
                        dejaCharge = false;
                        Pane affHS1 = paneAffichageHS(strListePano(), getiPanoActuel());
                        affHS1.setId("labels");
                        vbVisuHotspots.getChildren().add(affHS1);
                    }
                } else {
                    bDragDrop = false;
                }
            }
            valideHS();
            mouseEvent1.consume();
        });

    }
}

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @throws IOException Exception d'entre sortie
 *//*from  www .j  a  v  a 2  s .  com*/
private static void modeleSauver() throws IOException {
    File fileTemplate;
    FileChooser fcRepertChoix = new FileChooser();
    FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("fichier Modle panoVisu (*.tpl)",
            "*.tpl");
    fcRepertChoix.getExtensionFilters().add(extFilter);
    File fileRepert = new File(getStrRepertAppli() + File.separator + "templates");
    if (!fileRepert.exists()) {
        fileRepert.mkdirs();
    }
    fcRepertChoix.setInitialDirectory(fileRepert);
    fileTemplate = fcRepertChoix.showSaveDialog(null);

    if (fileTemplate != null) {
        String strContenuFichier = getGestionnaireInterface().strGetTemplate();
        fileTemplate.setWritable(true);
        OutputStreamWriter oswTemplate = new OutputStreamWriter(new FileOutputStream(fileTemplate), "UTF-8");
        try (BufferedWriter bwTemplate = new BufferedWriter(oswTemplate)) {
            bwTemplate.write(strContenuFichier);
        }
        Alert alert = new Alert(AlertType.INFORMATION);
        alert.setTitle(rbLocalisation.getString("main.dialog.sauveModele"));
        alert.setHeaderText(null);
        alert.setContentText(rbLocalisation.getString("main.dialog.sauveModeleMessage"));
        alert.showAndWait();
    }

}

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @throws IOException Exception d'entre sortie
 *///from   www .j  a v a2s .  co m
private static void modeleCharger() throws IOException {
    FileChooser fileRepertChoix = new FileChooser();
    FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("fichier panoVisu (*.tpl)",
            "*.tpl");
    fileRepertChoix.getExtensionFilters().add(extFilter);
    File repert = new File(getStrRepertAppli() + File.separator + "templates");
    fileRepertChoix.setInitialDirectory(repert);
    File filetemplate = fileRepertChoix.showOpenDialog(getStPrincipal());
    if (filetemplate != null) {
        try {
            List<String> strListTemplate = new ArrayList<>();
            BufferedReader brTemplate = new BufferedReader(
                    new InputStreamReader(new FileInputStream(filetemplate), "UTF-8"));

            String strLigneTexte;
            while ((strLigneTexte = brTemplate.readLine()) != null) {
                strListTemplate.add(strLigneTexte);
            }
            getGestionnaireInterface().setbTemplate(true);
            getGestionnaireInterface().setTemplate(strListTemplate);
            boolean bSauve = isbDejaSauve();
            getGestionnaireInterface().afficheTemplate();
            setbDejaSauve(bSauve);
            if (bSauve) {
                getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", ""));
            } else {
                getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
            }
            getGestionnaireInterface().setbTemplate(false);

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

    }

}

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @param strNomFichierBarre// w  w  w  .j a v a 2  s.c o m
 */
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);
            });

}