Example usage for javafx.scene.control ScrollPane ScrollPane

List of usage examples for javafx.scene.control ScrollPane ScrollPane

Introduction

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

Prototype

public ScrollPane() 

Source Link

Document

Creates a new ScrollPane.

Usage

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @param primaryStage// ww w .j  a  v a 2 s  .  com
 * @param width
 * @param height
 * @throws Exception
 */
private void creeEnvironnement(Stage primaryStage, int width, int height) throws Exception {
    popUp = new PopUpDialogController();
    primaryStage.setMaximized(true);
    double largeurOutils = 380;

    hauteurInterface = height;
    largeurInterface = width;
    /**
     * Cration des lments constitutifs de l'cran
     */
    VBox root = new VBox();
    creeMenu(root, width);
    tabPaneEnvironnement = new TabPane();
    //        tabPaneEnvironnement.setTranslateZ(5);
    tabPaneEnvironnement.setMinHeight(height - 60);
    tabPaneEnvironnement.setMaxHeight(height - 60);
    Pane barreStatus = new Pane();
    barreStatus.setPrefSize(width + 20, 30);
    barreStatus.setTranslateY(25);
    barreStatus.setStyle("-fx-background-color:#c00;-fx-border-color:#aaa");
    tabVisite = new Tab();
    Pane visualiseur;
    Pane panneauPlan;
    tabInterface = new Tab();
    tabPlan = new Tab();
    gestionnaireInterface.creeInterface(width, height - 60);
    visualiseur = gestionnaireInterface.tabInterface;
    gestionnairePlan.creeInterface(width, height - 60);
    panneauPlan = gestionnairePlan.tabInterface;
    tabInterface.setContent(visualiseur);
    tabPlan.setContent(panneauPlan);

    HBox hbEnvironnement = new HBox();
    TextArea txtTitrePano;
    TextArea tfTitreVisite;
    RadioButton radSphere;
    RadioButton radCube;
    CheckBox chkAfficheTitre;
    CheckBox chkAfficheInfo;

    tabPaneEnvironnement.getTabs().addAll(tabVisite, tabInterface, tabPlan);
    //tabPaneEnvironnement.setTranslateY(80);
    tabPaneEnvironnement.setSide(Side.TOP);
    tabPaneEnvironnement.getSelectionModel().selectedItemProperty()
            .addListener((ObservableValue<? extends Tab> ov, Tab t, Tab t1) -> {
                gestionnaireInterface.rafraichit();
            });

    tabVisite.setText(rb.getString("main.creationVisite"));
    tabVisite.setClosable(false);
    tabInterface.setText(rb.getString("main.creationInterface"));
    tabInterface.setClosable(false);
    tabPlan.setText(rb.getString("main.tabPlan"));
    tabPlan.setClosable(false);
    tabPlan.setDisable(true);
    tabVisite.setContent(hbEnvironnement);
    double largeur;
    String labelStyle = "-fx-color : white;-fx-background-color : #fff;-fx-padding : 5px;  -fx-border : 1px solid #777;-fx-width : 100px;-fx-margin : 5px; ";

    scene = new Scene(root, width, height, Color.rgb(221, 221, 221));
    //        if (systemeExploitation.indexOf("inux") != -1) {
    //            root.setStyle("-fx-font-size : 7pt;-fx-font-family: sans-serif;");
    //        } else {
    root.setStyle("-fx-font-size : 9pt;-fx-font-family: Arial;");
    //        }
    panneauOutils = new ScrollPane();
    panneauOutils.setId("panOutils");
    //        panneauOutils.setStyle("-fx-background-color : #ccc;");
    outils = new VBox();
    paneChoixPanoramique = new VBox();
    paneChoixPanoramique.setTranslateX(10);
    paneChoixPanoramique.setId("choixPanoramique");
    Label lblTitreVisite = new Label(rb.getString("main.titreVisite"));
    lblTitreVisite.setStyle("-fx-font-size : 10pt;-fx-font-weight : bold;");
    lblTitreVisite.setPadding(new Insets(15, 5, 5, 0));
    lblTitreVisite.setMinWidth(largeurOutils - 20);
    lblTitreVisite.setAlignment(Pos.CENTER);

    tfTitreVisite = new TextArea();
    tfTitreVisite.setId("titreVisite");
    tfTitreVisite.setPrefSize(200, 25);
    tfTitreVisite.setMaxSize(340, 25);

    Separator sepTitre = new Separator(Orientation.HORIZONTAL);
    sepTitre.setMinHeight(10);

    Label lblChoixPanoramiqueEntree = new Label(rb.getString("main.panoEntree"));
    lblChoixPanoramiqueEntree.setStyle("-fx-font-size : 10pt;-fx-font-weight : bold;");
    lblChoixPanoramiqueEntree.setPadding(new Insets(15, 5, 5, 0));
    lblChoixPanoramiqueEntree.setMinWidth(largeurOutils - 20);
    lblChoixPanoramiqueEntree.setAlignment(Pos.CENTER);

    lblChoixPanoramique = new Label(rb.getString("main.panoAffiche"));
    lblChoixPanoramique.setStyle("-fx-font-size : 10pt;-fx-font-weight : bold;");
    lblChoixPanoramique.setPadding(new Insets(10, 5, 5, 0));
    lblChoixPanoramique.setMinWidth(largeurOutils - 20);
    lblChoixPanoramique.setAlignment(Pos.CENTER);

    Separator sepPano = new Separator(Orientation.HORIZONTAL);
    sepPano.setMinHeight(10);
    listeChoixPanoramique.setVisibleRowCount(10);
    listeChoixPanoramique.setTranslateX(60);
    Pane fond = new Pane();
    fond.setCursor(Cursor.HAND);
    ImageView ivSupprPanoramique = new ImageView(
            new Image("file:" + repertAppli + File.separator + "images/suppr.png", 30, 30, true, true));
    fond.setTranslateX(260);
    fond.setTranslateY(-40);
    Tooltip t = new Tooltip(rb.getString("main.supprimePano"));
    t.setStyle(tooltipStyle);
    Tooltip.install(fond, t);
    fond.getChildren().add(ivSupprPanoramique);
    fond.setOnMouseClicked((MouseEvent me) -> {
        retirePanoCourant();
    });

    listeChoixPanoramiqueEntree.setTranslateX(60);
    Separator sepInfo = new Separator(Orientation.HORIZONTAL);
    Label lblTitrePano = new Label(rb.getString("main.titrePano"));
    lblTitrePano.setStyle("-fx-font-size : 10pt;-fx-font-weight : bold;");
    lblTitrePano.setPadding(new Insets(5, 5, 5, 0));
    lblTitrePano.setMinWidth(largeurOutils - 20);
    lblTitrePano.setAlignment(Pos.CENTER);
    txtTitrePano = new TextArea();
    txtTitrePano.setId("txttitrepano");
    txtTitrePano.setPrefSize(200, 25);
    txtTitrePano.setMaxSize(340, 25);
    txtTitrePano.textProperty().addListener((final ObservableValue<? extends String> observable,
            final String oldValue, final String newValue) -> {
        clickBtnValidePano();
    });

    paneChoixPanoramique.getChildren().addAll(lblTitreVisite, tfTitreVisite, lblChoixPanoramiqueEntree,
            listeChoixPanoramiqueEntree, sepPano, lblChoixPanoramique, listeChoixPanoramique, fond,
            lblTitrePano, txtTitrePano, sepInfo);
    paneChoixPanoramique.setSpacing(10);
    /*
      modifier pour afficher le panneau des derniers fichiers;        
     */
    //outils.getChildren().addAll(lastFiles, paneChoixPanoramique);

    outils.getChildren().addAll(paneChoixPanoramique);

    paneChoixPanoramique.setVisible(false);
    /*
     Cration du panneau d'info du panoramique
     */

    vuePanoramique = new ScrollPane();

    coordonnees = new HBox();
    pano = new Pane();
    panneau2 = new AnchorPane();
    lblLong = new Label("");
    lblLat = new Label("");
    imagePanoramique = new ImageView();

    primaryStage.setScene(scene);
    //scene.getStylesheets().add("file:css/test.css");
    /**
     *
     */
    vuePanoramique.setPrefSize(width - largeurOutils - 20, height - 130);
    vuePanoramique.setMaxSize(width - largeurOutils - 20, height - 130);
    vuePanoramique.setVbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    vuePanoramique.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    vuePanoramique.setTranslateY(5);

    //vuePanoramique.setStyle("-fx-background-color : #c00;");
    /**
     *
     */
    panneauOutils.setContent(outils);
    panneauOutils.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);
    panneauOutils.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    panneauOutils.setPrefSize(largeurOutils, height - 240);
    panneauOutils.setMaxWidth(largeurOutils);
    panneauOutils.setMaxHeight(height - 240);
    panneauOutils.setTranslateY(15);
    panneauOutils.setTranslateX(20);
    //        panneauOutils.setStyle("-fx-background-color : #ccc;");
    /**
     *
     */
    pano.setCursor(Cursor.CROSSHAIR);
    outils.setPrefWidth(largeurOutils - 20);
    //        outils.setStyle("-fx-background-color : #ccc;");
    outils.minHeight(height - 130);
    outils.setLayoutX(10);
    //        lblLong.setStyle(labelStyle);
    //        lblLat.setStyle(labelStyle);
    lblLong.setPrefSize(100, 15);
    lblLat.setPrefSize(100, 15);
    lblLat.setTranslateX(50);
    //        panneau2.setStyle("-fx-background-color : #ddd;");
    panneau2.setPrefSize(width - largeurOutils - 20, height - 140);

    imagePanoramique.setCache(true);
    largeur = largeurMax - 60;
    imagePanoramique.setFitWidth(largeur);
    imagePanoramique.setFitHeight(largeur / 2.0d);
    imagePanoramique.setLayoutX((largeurMax - largeur) / 2.d);
    pano.getChildren().add(imagePanoramique);
    pano.setPrefSize(imagePanoramique.getFitWidth(), imagePanoramique.getFitHeight());
    pano.setMaxSize(imagePanoramique.getFitWidth(), imagePanoramique.getFitHeight());

    pano.setLayoutY(20);
    lblLong.setTranslateX(50);
    lblLat.setTranslateX(80);
    coordonnees.getChildren().setAll(lblLong, lblLat);
    vuePanoramique.setContent(panneau2);
    hbEnvironnement.getChildren().setAll(vuePanoramique, panneauOutils);
    AnchorPane paneEnv = new AnchorPane();
    paneAttends = new AnchorPane();
    paneAttends.setPrefHeight(250);
    paneAttends.setPrefWidth(400);
    paneAttends.setStyle("-fx-background-color : #ccc;" + "-fx-border-color: #666;" + "-fx-border-radius: 5px;"
            + "-fx-border-width: 1px;");
    paneAttends.setLayoutX((width - 400) / 2.d);
    paneAttends.setLayoutY((height - 250) / 2.d - 55);
    ProgressIndicator p1 = new ProgressIndicator();
    p1.setPrefSize(100, 100);
    p1.setLayoutX(150);
    p1.setLayoutY(50);
    Label lblAttends = new Label(rb.getString("main.attendsChargement"));
    lblAttends.setMinWidth(400);
    lblAttends.setAlignment(Pos.CENTER);
    lblAttends.setLayoutY(20);
    lblCharge = new Label();
    lblCharge.setMinWidth(400);
    lblCharge.setLayoutY(200);
    paneAttends.getChildren().addAll(lblAttends, p1, lblCharge);
    paneAttends.setVisible(false);
    paneEnv.getChildren().addAll(tabPaneEnvironnement, paneAttends);
    //        paneEnv.getChildren().addAll(tabPaneEnvironnement);
    root.getChildren().addAll(paneEnv);
    panneau2.getChildren().setAll(coordonnees, pano);
    primaryStage.show();
    popUp.affichePopup();
    lblDragDrop = new Label(rb.getString("main.dragDrop"));
    lblDragDrop.setMinHeight(vuePanoramique.getPrefHeight());
    lblDragDrop.setMaxHeight(vuePanoramique.getPrefHeight());
    lblDragDrop.setMinWidth(vuePanoramique.getPrefWidth());
    lblDragDrop.setMaxWidth(vuePanoramique.getPrefWidth());
    lblDragDrop.setAlignment(Pos.CENTER);
    lblDragDrop.setTextFill(Color.web("#c9c7c7"));
    lblDragDrop.setTextAlignment(TextAlignment.CENTER);
    lblDragDrop.setWrapText(true);
    lblDragDrop.setStyle("-fx-font-size:72px");
    lblDragDrop.setTranslateY(-100);
    panneau2.getChildren().addAll(lblDragDrop, afficheLegende());
}

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @param vbRacine panel d'installation du menu
 * @throws Exception Exceptions/*from  w  w  w. ja va 2 s  .c o m*/
 */
private static void creeMenu(VBox vbRacine) throws Exception {
    VBox vbMonPanneau = new VBox();

    vbMonPanneau.setPrefHeight(80);
    vbMonPanneau.setPrefWidth(3000);
    mbarPrincipal.setMinHeight(29);
    mbarPrincipal.setPrefHeight(29);
    mbarPrincipal.setMaxHeight(29);
    mbarPrincipal.setPrefWidth(3000);
    if (isMac()) {
        mbarPrincipal.setUseSystemMenuBar(true);
    }
    /* 
     Menu projets
     */
    Menu mnuProjet = new Menu(rbLocalisation.getString("projets"));

    mbarPrincipal.getMenus().add(mnuProjet);
    mniNouveauProjet = new MenuItem(rbLocalisation.getString("nouveauProjet"));
    mniNouveauProjet.setAccelerator(new KeyCodeCombination(KeyCode.N, KeyCombination.SHORTCUT_DOWN));
    mnuProjet.getItems().add(mniNouveauProjet);
    mniChargeProjet = new MenuItem(rbLocalisation.getString("ouvrirProjet"));
    mniChargeProjet.setAccelerator(new KeyCodeCombination(KeyCode.O, KeyCombination.SHORTCUT_DOWN));

    mnuProjet.getItems().add(mniChargeProjet);
    mniSauveProjet = new MenuItem(rbLocalisation.getString("sauverProjet"));
    mniSauveProjet.setDisable(true);
    mniSauveProjet.setAccelerator(new KeyCodeCombination(KeyCode.S, KeyCombination.SHORTCUT_DOWN));
    mnuProjet.getItems().add(mniSauveProjet);
    mniSauveSousProjet = new MenuItem(rbLocalisation.getString("sauverProjetSous"));
    mniSauveSousProjet.setDisable(true);
    mniSauveSousProjet.setAccelerator(
            new KeyCodeCombination(KeyCode.S, KeyCombination.SHORTCUT_DOWN, KeyCodeCombination.SHIFT_DOWN));
    mnuProjet.getItems().add(mniSauveSousProjet);
    mnuDerniersProjets = new Menu(rbLocalisation.getString("derniersProjets"));
    mnuProjet.getItems().add(mnuDerniersProjets);
    fileHistoFichiers = new File(fileRepertConfig.getAbsolutePath() + File.separator + "derniersprojets.cfg");
    nombreHistoFichiers = 0;
    if (fileHistoFichiers.exists()) {
        try (BufferedReader brHistoFichiers = new BufferedReader(
                new InputStreamReader(new FileInputStream(fileHistoFichiers), "UTF-8"))) {
            while ((strTexteHisto = brHistoFichiers.readLine()) != null) {
                MenuItem menuDerniersFichiers = new MenuItem(strTexteHisto);
                mnuDerniersProjets.getItems().add(menuDerniersFichiers);
                strHistoFichiers[nombreHistoFichiers] = strTexteHisto;
                nombreHistoFichiers++;
                menuDerniersFichiers.setOnAction((e) -> {
                    MenuItem mniSousMenu = (MenuItem) e.getSource();
                    try {
                        try {
                            projetChargeNom(mniSousMenu.getText());

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

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

            }
        }
    }

    SeparatorMenuItem sepMenu1 = new SeparatorMenuItem();
    mnuProjet.getItems().add(sepMenu1);
    mniFermerProjet = new MenuItem(rbLocalisation.getString("quitterApplication"));
    mniFermerProjet.setAccelerator(new KeyCodeCombination(KeyCode.A, KeyCombination.SHORTCUT_DOWN));
    mnuProjet.getItems().add(mniFermerProjet);
    /*
     Menu affichage
     */
    Menu mnuAffichage = new Menu(rbLocalisation.getString("affichage"));
    mbarPrincipal.getMenus().add(mnuAffichage);
    mniAffichageVisite = new MenuItem(rbLocalisation.getString("main.creationVisite"));
    mniAffichageVisite.setAccelerator(new KeyCodeCombination(KeyCode.DIGIT1, KeyCombination.SHORTCUT_DOWN));
    mnuAffichage.getItems().add(mniAffichageVisite);
    mniAffichageInterface = new MenuItem(rbLocalisation.getString("main.creationInterface"));
    mniAffichageInterface.setAccelerator(new KeyCodeCombination(KeyCode.DIGIT2, KeyCombination.SHORTCUT_DOWN));
    mnuAffichage.getItems().add(mniAffichageInterface);
    setMniAffichagePlan(new MenuItem(rbLocalisation.getString("main.tabPlan")));
    getMniAffichagePlan().setAccelerator(new KeyCodeCombination(KeyCode.DIGIT3, KeyCombination.SHORTCUT_DOWN));
    getMniAffichagePlan().setDisable(true);
    mnuAffichage.getItems().add(getMniAffichagePlan());
    mniOutilsLoupe = new MenuItem(rbLocalisation.getString("main.loupe"));
    mniOutilsLoupe.setAccelerator(new KeyCodeCombination(KeyCode.L, KeyCombination.SHORTCUT_DOWN));
    mnuAffichage.getItems().add(mniOutilsLoupe);

    SeparatorMenuItem sep3 = new SeparatorMenuItem();
    mnuAffichage.getItems().add(sep3);
    mniConfigTransformation = new MenuItem(rbLocalisation.getString("affichageConfiguration"));
    mnuAffichage.getItems().add(mniConfigTransformation);

    /*
     Menu panoramiques
     */
    mnuPanoramique = new Menu(rbLocalisation.getString("panoramiques"));
    mnuPanoramique.setDisable(true);
    mbarPrincipal.getMenus().add(mnuPanoramique);
    mniAjouterPano = new MenuItem(rbLocalisation.getString("ajouterPanoramiques"));
    mniAjouterPano.setAccelerator(new KeyCodeCombination(KeyCode.A, KeyCombination.SHORTCUT_DOWN));
    mnuPanoramique.getItems().add(mniAjouterPano);
    setMniAjouterPlan(new MenuItem(rbLocalisation.getString("ajouterPlan")));
    getMniAjouterPlan().setAccelerator(new KeyCodeCombination(KeyCode.P, KeyCombination.SHORTCUT_DOWN));
    mnuPanoramique.getItems().add(getMniAjouterPlan());
    getMniAjouterPlan().setDisable(true);
    SeparatorMenuItem sep2 = new SeparatorMenuItem();
    mnuPanoramique.getItems().add(sep2);
    mniVisiteGenere = new MenuItem(rbLocalisation.getString("genererVisite"));
    mniVisiteGenere.setDisable(true);
    mniVisiteGenere.setAccelerator(new KeyCodeCombination(KeyCode.V, KeyCombination.SHORTCUT_DOWN));
    mnuPanoramique.getItems().add(mniVisiteGenere);
    /*
     Menu Modles 
     */
    mnuModeles = new Menu(rbLocalisation.getString("menuModele"));
    mbarPrincipal.getMenus().add(mnuModeles);

    mniChargerModele = new MenuItem(rbLocalisation.getString("modeleCharger"));
    mnuModeles.getItems().add(mniChargerModele);

    mniSauverModele = new MenuItem(rbLocalisation.getString("modeleSauver"));
    mnuModeles.getItems().add(mniSauverModele);

    /*
     Menu transformations 
     */
    mnuTransformation = new Menu(rbLocalisation.getString("outils"));
    mbarPrincipal.getMenus().add(mnuTransformation);
    mniEqui2CubeTransformation = new MenuItem(rbLocalisation.getString("outilsEqui2Cube"));
    mnuTransformation.getItems().add(mniEqui2CubeTransformation);
    mniCube2EquiTransformation = new MenuItem(rbLocalisation.getString("outilsCube2Equi"));
    mnuTransformation.getItems().add(mniCube2EquiTransformation);
    SeparatorMenuItem sep6 = new SeparatorMenuItem();
    mnuTransformation.getItems().add(sep6);
    mniOutilsBarre = new MenuItem(rbLocalisation.getString("outilsBarre"));
    mniOutilsBarre.setAccelerator(new KeyCodeCombination(KeyCode.B, KeyCombination.SHORTCUT_DOWN));
    mnuTransformation.getItems().add(mniOutilsBarre);
    mniOutilsDiaporama = new MenuItem(rbLocalisation.getString("outilsDiaporama"));
    mniOutilsDiaporama.setAccelerator(new KeyCodeCombination(KeyCode.D, KeyCombination.SHORTCUT_DOWN));
    mnuTransformation.getItems().add(mniOutilsDiaporama);

    /*
     Menu Aide
     */
    Menu mnuAide = new Menu(rbLocalisation.getString("aide"));
    mbarPrincipal.getMenus().add(mnuAide);
    mniAide = new MenuItem(rbLocalisation.getString("aideAide"));
    mniAide.setAccelerator(new KeyCodeCombination(KeyCode.H, KeyCombination.SHORTCUT_DOWN));
    mnuAide.getItems().add(mniAide);
    SeparatorMenuItem sep4 = new SeparatorMenuItem();
    mnuAide.getItems().add(sep4);
    mniAPropos = new MenuItem(rbLocalisation.getString("aideAPropos"));
    mnuAide.getItems().add(mniAPropos);
    //
    //        }
    //
    /*
     barre de boutons 
     */
    hbBarreBouton = new HBox();
    hbBarreBouton.getStyleClass().add("menuBarreOutils1");

    hbBarreBouton.setPrefHeight(50);
    hbBarreBouton.setMinHeight(50);
    hbBarreBouton.setPrefWidth(3000);
    /*
     Bouton nouveau Projet
     */
    ScrollPane spBtnNouvprojet = new ScrollPane();
    spBtnNouvprojet.getStyleClass().add("menuBarreOutils");
    spBtnNouvprojet.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    spBtnNouvprojet.setPrefHeight(35);
    spBtnNouvprojet.setMaxHeight(35);
    spBtnNouvprojet.setPadding(new Insets(2));
    spBtnNouvprojet.setPrefWidth(35);

    HBox.setMargin(spBtnNouvprojet, new Insets(5, 15, 0, 15));
    ivNouveauProjet = new ImageView(
            new Image("file:" + getStrRepertAppli() + File.separator + "images/nouveauProjet.png"));
    spBtnNouvprojet.setContent(ivNouveauProjet);
    Tooltip tltpNouveauProjet = new Tooltip(rbLocalisation.getString("nouveauProjet"));
    tltpNouveauProjet.setStyle(getStrTooltipStyle());
    spBtnNouvprojet.setTooltip(tltpNouveauProjet);
    hbBarreBouton.getChildren().add(spBtnNouvprojet);
    /*
     Bouton ouvrir Projet
     */
    ScrollPane spBtnOuvrirProjet = new ScrollPane();
    spBtnOuvrirProjet.getStyleClass().add("menuBarreOutils");
    spBtnOuvrirProjet.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    spBtnOuvrirProjet.setPrefHeight(35);
    spBtnOuvrirProjet.setMaxHeight(35);
    spBtnOuvrirProjet.setPadding(new Insets(2));
    spBtnOuvrirProjet.setPrefWidth(35);

    HBox.setMargin(spBtnOuvrirProjet, new Insets(5, 15, 0, 0));
    ivChargeProjet = new ImageView(
            new Image("file:" + getStrRepertAppli() + File.separator + "images/ouvrirProjet.png"));
    spBtnOuvrirProjet.setContent(ivChargeProjet);
    Tooltip tltpOuvrirProjet = new Tooltip(rbLocalisation.getString("ouvrirProjet"));
    tltpOuvrirProjet.setStyle(getStrTooltipStyle());
    spBtnOuvrirProjet.setTooltip(tltpOuvrirProjet);
    hbBarreBouton.getChildren().add(spBtnOuvrirProjet);

    /*
     Bouton sauve Projet
     */
    ScrollPane spBtnSauveProjet = new ScrollPane();
    spBtnSauveProjet.getStyleClass().add("menuBarreOutils");
    spBtnSauveProjet.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    spBtnSauveProjet.setPrefHeight(35);
    spBtnSauveProjet.setMaxHeight(35);
    spBtnSauveProjet.setPadding(new Insets(2));
    spBtnSauveProjet.setPrefWidth(35);

    HBox.setMargin(spBtnSauveProjet, new Insets(5, 15, 0, 0));
    ivSauveProjet = new ImageView(
            new Image("file:" + getStrRepertAppli() + File.separator + "images/sauveProjet.png"));
    spBtnSauveProjet.setContent(ivSauveProjet);
    Tooltip tltpSauverProjet = new Tooltip(rbLocalisation.getString("sauverProjet"));
    tltpSauverProjet.setStyle(getStrTooltipStyle());
    spBtnSauveProjet.setTooltip(tltpSauverProjet);
    hbBarreBouton.getChildren().add(spBtnSauveProjet);
    Separator sepImages = new Separator(Orientation.VERTICAL);
    sepImages.prefHeight(200);
    hbBarreBouton.getChildren().add(sepImages);
    ivSauveProjet.setDisable(true);
    ivSauveProjet.setOpacity(0.3);
    /*
     Bouton Ajoute Panoramique
     */
    ScrollPane spBtnAjoutePano = new ScrollPane();
    spBtnAjoutePano.getStyleClass().add("menuBarreOutils");
    spBtnAjoutePano.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    spBtnAjoutePano.setPrefHeight(35);
    spBtnAjoutePano.setMaxHeight(35);
    spBtnAjoutePano.setPadding(new Insets(2));
    spBtnAjoutePano.setPrefWidth(35);

    HBox.setMargin(spBtnAjoutePano, new Insets(5, 15, 0, 15));
    ivAjouterPano = new ImageView(
            new Image("file:" + getStrRepertAppli() + File.separator + "images/ajoutePanoramique.png"));
    spBtnAjoutePano.setContent(ivAjouterPano);
    Tooltip tltpAjouterPano = new Tooltip(rbLocalisation.getString("ajouterPanoramiques"));
    tltpAjouterPano.setStyle(getStrTooltipStyle());
    spBtnAjoutePano.setTooltip(tltpAjouterPano);
    hbBarreBouton.getChildren().add(spBtnAjoutePano);
    ivAjouterPano.setDisable(true);
    ivAjouterPano.setOpacity(0.3);

    /*
     Bouton Ajoute Panoramique
     */
    ScrollPane spBtnAjoutePlan = new ScrollPane();
    spBtnAjoutePlan.getStyleClass().add("menuBarreOutils");
    spBtnAjoutePlan.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    spBtnAjoutePlan.setPrefHeight(35);
    spBtnAjoutePlan.setMaxHeight(35);
    spBtnAjoutePlan.setPadding(new Insets(2));
    spBtnAjoutePlan.setPrefWidth(35);

    HBox.setMargin(spBtnAjoutePlan, new Insets(5, 15, 0, 15));
    setIvAjouterPlan(
            new ImageView(new Image("file:" + getStrRepertAppli() + File.separator + "images/ajoutePlan.png")));
    spBtnAjoutePlan.setContent(getIvAjouterPlan());
    Tooltip tltpAjouterPlan = new Tooltip(rbLocalisation.getString("ajouterPlan"));
    tltpAjouterPlan.setStyle(getStrTooltipStyle());
    spBtnAjoutePlan.setTooltip(tltpAjouterPlan);
    hbBarreBouton.getChildren().add(spBtnAjoutePlan);
    getIvAjouterPlan().setDisable(true);
    getIvAjouterPlan().setOpacity(0.3);

    /*
     Bouton Gnre
     */
    ScrollPane spBtnGenereVisite = new ScrollPane();
    spBtnGenereVisite.getStyleClass().add("menuBarreOutils");
    spBtnGenereVisite.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    spBtnGenereVisite.setPrefHeight(35);
    spBtnGenereVisite.setMaxHeight(35);
    spBtnGenereVisite.setPadding(new Insets(2));
    spBtnGenereVisite.setPrefWidth(70);

    HBox.setMargin(spBtnGenereVisite, new Insets(5, 15, 0, 0));
    ivVisiteGenere = new ImageView(
            new Image("file:" + getStrRepertAppli() + File.separator + "images/genereVisite.png"));
    spBtnGenereVisite.setContent(ivVisiteGenere);
    Tooltip tltpGenererVisite = new Tooltip(rbLocalisation.getString("genererVisite"));
    tltpGenererVisite.setStyle(getStrTooltipStyle());
    spBtnGenereVisite.setTooltip(tltpGenererVisite);
    hbBarreBouton.getChildren().add(spBtnGenereVisite);
    ivVisiteGenere.setDisable(true);
    ivVisiteGenere.setOpacity(0.3);
    Separator sepImages1 = new Separator(Orientation.VERTICAL);
    sepImages1.prefHeight(200);
    hbBarreBouton.getChildren().add(sepImages1);
    /*
     Bouton equi -> faces de  Cube
     */
    ScrollPane spBtnEqui2Cube = new ScrollPane();
    spBtnEqui2Cube.getStyleClass().add("menuBarreOutils");
    spBtnEqui2Cube.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    spBtnEqui2Cube.setPrefHeight(35);
    spBtnEqui2Cube.setMaxHeight(35);
    spBtnEqui2Cube.setPadding(new Insets(2));
    spBtnEqui2Cube.setPrefWidth(109);

    HBox.setMargin(spBtnEqui2Cube, new Insets(5, 15, 0, 250));
    ivEqui2Cube = new ImageView(
            new Image("file:" + getStrRepertAppli() + File.separator + "images/equi2cube.png"));
    spBtnEqui2Cube.setContent(ivEqui2Cube);
    Tooltip tltpEqui2Cube = new Tooltip(rbLocalisation.getString("outilsEqui2Cube"));
    tltpEqui2Cube.setStyle(getStrTooltipStyle());
    spBtnEqui2Cube.setTooltip(tltpEqui2Cube);
    hbBarreBouton.getChildren().add(spBtnEqui2Cube);

    /*
     Bouton faces de cube -> equi
     */
    ScrollPane spBtnCube2Equi = new ScrollPane();
    spBtnCube2Equi.getStyleClass().add("menuBarreOutils");
    spBtnCube2Equi.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    spBtnCube2Equi.setPrefHeight(35);
    spBtnCube2Equi.setMaxHeight(35);
    spBtnCube2Equi.setPadding(new Insets(2));
    spBtnCube2Equi.setPrefWidth(109);

    HBox.setMargin(spBtnCube2Equi, new Insets(5, 25, 0, 0));
    ivCube2Equi = new ImageView(
            new Image("file:" + getStrRepertAppli() + File.separator + "images/cube2equi.png"));
    spBtnCube2Equi.setContent(ivCube2Equi);
    Tooltip tltpCube2Equi = new Tooltip(rbLocalisation.getString("outilsCube2Equi"));
    tltpCube2Equi.setStyle(getStrTooltipStyle());
    spBtnCube2Equi.setTooltip(tltpCube2Equi);
    hbBarreBouton.getChildren().add(spBtnCube2Equi);
    if (isMac()) {
        mbarPrincipal.setMaxHeight(0);
        hbBarreBouton.setTranslateY(-30);
    }
    vbMonPanneau.getChildren().addAll(mbarPrincipal, hbBarreBouton);
    vbRacine.getChildren().add(vbMonPanneau);
    mniNouveauProjet.setOnAction((e) -> {
        projetsNouveau();
    });
    mniChargeProjet.setOnAction((e) -> {
        try {
            try {
                projetCharge();

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

        } catch (IOException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
    });
    mniSauveProjet.setOnAction((e) -> {
        try {
            projetSauve();

        } catch (IOException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
    });
    mniSauveSousProjet.setOnAction((e) -> {
        try {
            projetSauveSous();

        } catch (IOException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
    });
    mniVisiteGenere.setOnAction((e) -> {
        try {
            genereVisite();

        } catch (IOException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
    });
    mniFermerProjet.setOnAction((e) -> {
        try {
            projetsFermer();

        } catch (IOException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
    });
    mniAjouterPano.setOnAction((e) -> {
        try {
            panoramiquesAjouter();

        } catch (InterruptedException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
    });
    getMniAjouterPlan().setOnAction((e) -> {
        planAjouter();
    });
    mniAPropos.setOnAction((e) -> {
        aideapropos();
    });
    mniAide.setOnAction((e) -> {
        AideDialogController.affiche();
    });

    mniChargerModele.setOnAction((e) -> {
        try {
            modeleCharger();

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

    mniSauverModele.setOnAction((e) -> {
        try {
            modeleSauver();

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

    mniCube2EquiTransformation.setOnAction((e) -> {
        transformationCube2Equi();
    });

    mniEqui2CubeTransformation.setOnAction((e) -> {
        transformationEqui2Cube();
    });

    mniOutilsBarre.setOnAction((e) -> {
        creerEditerBarre("");
    });
    mniOutilsDiaporama.setOnAction((e) -> {
        creerEditerDiaporama("");
    });
    mniOutilsLoupe.setOnAction((e) -> {
        e.consume();
        setAfficheLoupe(!isAfficheLoupe());
        apLoupe.setVisible(isAfficheLoupe());
        Point p = MouseInfo.getPointerInfo().getLocation();
        if (p.x < getiTailleLoupe() + 80 && p.y < getiTailleLoupe() + 160) {
            apLoupe.setLayoutX(ivImagePanoramique.getFitWidth() - getiTailleLoupe() + 5);
            apLoupe.setLayoutY(35);
            strPositLoupe = "droite";
        } else {
            apLoupe.setLayoutX(35);
            apLoupe.setLayoutY(35);
            strPositLoupe = "gauche";
        }
    });

    mniAffichageVisite.setOnAction((e) -> {
        tpEnvironnement.getSelectionModel().select(0);
    });
    mniAffichageInterface.setOnAction((e) -> {
        tpEnvironnement.getSelectionModel().select(1);
    });
    getMniAffichagePlan().setOnAction((e) -> {
        if (!tabPlan.isDisabled()) {
            tpEnvironnement.getSelectionModel().select(2);
        }
    });

    mniConfigTransformation.setOnAction((e) -> {
        try {
            ConfigDialogController cfg = new ConfigDialogController();
            cfg.afficheFenetre();

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

    spBtnNouvprojet.setOnMouseClicked((t) -> {
        projetsNouveau();
    });
    spBtnOuvrirProjet.setOnMouseClicked((t) -> {
        try {
            try {
                projetCharge();

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

        } catch (IOException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
    });
    spBtnSauveProjet.setOnMouseClicked((t) -> {
        try {
            projetSauve();

        } catch (IOException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
    });
    spBtnAjoutePano.setOnMouseClicked((t) -> {
        try {
            panoramiquesAjouter();

        } catch (InterruptedException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
    });
    spBtnAjoutePlan.setOnMouseClicked((t) -> {
        planAjouter();
    });
    spBtnGenereVisite.setOnMouseClicked((t) -> {
        try {
            genereVisite();

        } catch (IOException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
    });
    spBtnEqui2Cube.setOnMouseClicked((t) -> {
        transformationEqui2Cube();
    });
    spBtnCube2Equi.setOnMouseClicked((t) -> {
        transformationCube2Equi();
    });

}

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @param stPrimaryStage// w  ww.j a v a  2s .  com
 * @param iLargeur
 * @param iHauteur
 * @throws Exception Exceptions
 */
private static void creeEnvironnement(Stage stPrimaryStage, int iLargeur, int iHauteur) throws Exception {
    popUp = new PopUpDialogController();
    stPrimaryStage.setMaximized(true);
    stPrimaryStage.setMinWidth(1280);
    stPrimaryStage.setMinHeight(720);

    iHauteurInterface = iHauteur;
    iLargeurInterface = iLargeur;
    /**
     * Cration des lments constitutifs de l'cran
     */
    vbRacine = new VBox();
    AnchorPane panePrincipale = new AnchorPane(vbRacine);
    setScnPrincipale(new Scene(panePrincipale, iLargeur, iHauteur, Color.rgb(221, 221, 221)));
    if (!fileRepertConfig.exists()) {
        fileRepertConfig.mkdirs();
        setLocale(new Locale("fr", "FR"));
        File f = new File("css/clair.css");
        getScnPrincipale().getStylesheets().add("file:///" + f.getAbsolutePath().replace("\\", "/"));
        setStrRepertoireProjet(getStrRepertAppli());
    } else {
        lisFichierConfig();
    }

    creeMenu(vbRacine);
    tpEnvironnement = new TabPane();
    tpEnvironnement.setMinHeight(iHauteur - 60);
    tpEnvironnement.setMaxHeight(iHauteur - 60);
    tpEnvironnement.setMinWidth(iLargeur);
    tpEnvironnement.setMaxWidth(iLargeur);
    Pane paneBarreStatus = new Pane();
    paneBarreStatus.setPrefSize(iLargeur + 20, 30);
    paneBarreStatus.setTranslateY(25);
    paneBarreStatus.setStyle("-fx-background-color:#c00;-fx-border-color:#aaa");
    tabVisite = new Tab();
    Pane paneVisualiseur;
    Pane panePlan;
    setTabInterface(new Tab());
    setTabPlan(new Tab());
    getGestionnaireInterface().creeInterface(iLargeur, iHauteur - 78);
    paneVisualiseur = getGestionnaireInterface().paneTabInterface;
    getGestionnairePlan().creeInterface(iLargeur, iHauteur - 78);
    panePlan = getGestionnairePlan().getPaneInterface();
    getTabInterface().setContent(paneVisualiseur);
    getTabPlan().setContent(panePlan);

    HBox hbEnvironnement = new HBox();
    TextField tfTitrePano;
    TextField tfTitreVisite;

    tpEnvironnement.getTabs().addAll(tabVisite, getTabInterface(), getTabPlan());
    tpEnvironnement.setSide(Side.TOP);
    tpEnvironnement.getSelectionModel().selectedItemProperty()
            .addListener((ObservableValue<? extends Tab> ov, Tab t, Tab t1) -> {
                if (getGestionnaireInterface().navigateurCarteOL == null && isbInternet()) {
                    getGestionnaireInterface().navigateurCarteOL = new NavigateurOpenLayersSeul();
                    getGestionnaireInterface().apNavigateurCarte = getGestionnaireInterface().navigateurCarteOL
                            .afficheNavigateurOpenLayer();
                }
                getGestionnaireInterface().rafraichit();
            });
    tabInterface.disableProperty().addListener((ov, av, nv) -> {
        if (!nv && getGestionnaireInterface().navigateurCarteOL == null && isbInternet()) {
            getGestionnaireInterface().navigateurCarteOL = new NavigateurOpenLayersSeul();
            getGestionnaireInterface().navigateurCarteOL.setBingApiKey(getStrBingAPIKey());
            getGestionnaireInterface().apNavigateurCarte = getGestionnaireInterface().navigateurCarteOL
                    .afficheNavigateurOpenLayer();
        }
    });

    tabVisite.setText(rbLocalisation.getString("main.creationVisite"));
    tabVisite.setClosable(false);
    getTabInterface().setText(rbLocalisation.getString("main.creationInterface"));
    getTabInterface().setClosable(false);
    getTabPlan().setText(rbLocalisation.getString("main.tabPlan"));
    getTabPlan().setClosable(false);
    getTabPlan().setDisable(true);
    if (isbInternet()) {
        getTabInterface().setDisable(true);
    }
    tabVisite.setContent(hbEnvironnement);
    double largeur;
    String strLabelStyle = "-fx-color : white;-fx-background-color : #fff;-fx-padding : 5px;  -fx-border : 1px solid #777;-fx-width : 100px;-fx-margin : 5px; ";
    vbRacine.setStyle("-fx-font-size : 9pt;-fx-font-family: Arial;");
    vbRacine.setTranslateY(15);
    spPanneauOutils = new ScrollPane();
    spPanneauOutils.setId("panOutils");
    vbOutils = new VBox(-5);
    vbOutils.setPrefWidth(largeurOutils - 20);
    setVbChoixPanoramique(new VBox());
    getVbChoixPanoramique().setId("choixPanoramique");
    double largeurOutil = vbOutils.getPrefWidth();

    apPanovisu = new AnchorPane();
    apPanovisu.setPrefHeight(50);
    apPanovisu.setMinHeight(50);
    apPanovisu.setMaxHeight(50);

    apPanovisu.setMaxWidth(380);
    apPanovisu.setPrefWidth(380);
    apPanovisu.setMinWidth(380);
    apPanovisu.setLayoutX(iLargeur - 380);
    if (isMac()) {
        apPanovisu.setLayoutY(0);

    } else {
        apPanovisu.setLayoutY(45);
    }
    apPanovisu.setStyle("-fx-background-color : derive(-fx-base,20%);");

    ImageView ivPanoVisu = new ImageView(new Image(
            "file:" + getStrRepertAppli() + File.separator + "images/panovisu.png", 48, 48, true, true));
    ivPanoVisu.setLayoutX(40);
    ivPanoVisu.setLayoutY(1);
    Label lblPanoVisu = new Label("panoVisu Vers. : " + strNumVersion);
    lblPanoVisu.setStyle(
            "-fx-font-weight : bold;-fx-font-family : Verdana,Arial,sans-serif;-fx-font-size : 1.2em;");
    lblPanoVisu.setLayoutX(108);
    lblPanoVisu.setLayoutY(5);
    Label lblPanoVisu2 = new Label("Laurent LANG (2014-2015)");
    lblPanoVisu2.setLayoutX(108);
    lblPanoVisu2.setLayoutY(35);
    lblPanoVisu2.setStyle("-fx-font-family : Verdana,Arial,sans-serif;-fx-font-size : 0.8em;");
    apPanovisu.getChildren().addAll(ivPanoVisu, lblPanoVisu, lblPanoVisu2);
    panePrincipale.getChildren().add(apPanovisu);
    panePrincipale.getChildren().add(apWebview);
    apWebview.setVisible(false);
    apWebview.setStyle("-fx-background-color : #333;");
    apWebview.setPrefSize(iLargeur - 75, iHauteur - 80);
    apWebview.setMinSize(iLargeur - 75, iHauteur - 80);
    apWebview.setMaxSize(iLargeur - 75, iHauteur - 80);
    apWebview.setTranslateX(25);
    apWebview.setTranslateY(5);
    /*
     Paramtres de la visite
     */
    apParametresVisite = new AnchorPane();
    apParametresVisite.setLayoutY(40);
    Label lblTitreVisite = new Label(rbLocalisation.getString("main.titreVisite"));
    lblTitreVisite.setStyle("-fx-font-size : 10pt;-fx-font-weight : bold;");
    lblTitreVisite.setLayoutX(10);
    lblTitreVisite.setLayoutY(5);

    tfTitreVisite = new TextField();
    tfTitreVisite.setId("titreVisite");
    tfTitreVisite.setPrefSize(200, 25);
    tfTitreVisite.setMaxSize(250, 25);
    tfTitreVisite.setLayoutX(60);
    tfTitreVisite.setLayoutY(25);
    cbIntroPetitePlanete = new CheckBox(rbLocalisation.getString("main.introPetitePlanete"));
    cbIntroPetitePlanete.setSelected(false);
    cbIntroPetitePlanete.setLayoutX(10);
    cbIntroPetitePlanete.setLayoutY(60);

    Label lblChoixPanoramiqueEntree = new Label(rbLocalisation.getString("main.panoEntree"));
    lblChoixPanoramiqueEntree.setStyle("-fx-font-size : 1em;");
    lblChoixPanoramiqueEntree.setLayoutX(10);
    lblChoixPanoramiqueEntree.setLayoutY(90);
    lblChoixPanoramiqueEntree.setMaxWidth(largeurOutils - 40);
    lblChoixPanoramiqueEntree.setPrefHeight(35);
    lblChoixPanoramiqueEntree.setWrapText(true);

    apParametresVisite.setPrefHeight(120);
    apParametresVisite.getChildren().addAll(lblTitreVisite, tfTitreVisite, cbIntroPetitePlanete,
            lblChoixPanoramiqueEntree);
    PaneOutil poParametresVisite = new PaneOutil(rbLocalisation.getString("main.parametresVisite"),
            apParametresVisite, largeurOutil);
    setApPVIS(new AnchorPane(poParametresVisite.getApPaneOutil()));
    poParametresVisite.setbValide(isbIntroPetitePlanete());
    AnchorPane apAutoRotation = new AnchorPane();
    apAutoRotation.setPrefHeight(270);
    apAutoRotation.setLayoutY(40);
    PaneOutil poAutoRotation = new PaneOutil(rbLocalisation.getString("main.autoTourRotation"), apAutoRotation,
            largeurOutil);
    setApAR(new AnchorPane(poAutoRotation.getApPaneOutil()));
    poAutoRotation.setbValide(isbAutoRotationDemarre() || isbAutoTourDemarre());

    cbAutoRotationDemarrage = new CheckBox(rbLocalisation.getString("main.autoRotationDemarrage"));
    cbAutoRotationDemarrage.setSelected(false);
    cbAutoRotationDemarrage.setLayoutX(10);
    cbAutoRotationDemarrage.setLayoutY(10);

    Label lblVitesse = new Label(rbLocalisation.getString("main.autoRotationVitesse"));
    lblVitesse.setLayoutX(10);
    lblVitesse.setLayoutY(40);
    cbAutoRotationVitesse = new ComboBox();
    cbAutoRotationVitesse.getItems().add(0, "10 " + rbLocalisation.getString("main.parTour"));
    cbAutoRotationVitesse.getItems().add(1, "20 " + rbLocalisation.getString("main.parTour"));
    cbAutoRotationVitesse.getItems().add(2, "30 " + rbLocalisation.getString("main.parTour"));
    cbAutoRotationVitesse.getItems().add(3, "Autre n " + rbLocalisation.getString("main.parTour"));
    cbAutoRotationVitesse.getSelectionModel().select(2);
    cbAutoRotationVitesse.setLayoutX(30);
    cbAutoRotationVitesse.setLayoutY(70);
    cbAutoRotationVitesse.setMaxWidth(170);
    bdfAutoRotationVitesse = new BigDecimalField(new BigDecimal(40));
    bdfAutoRotationVitesse.setDisable(true);
    bdfAutoRotationVitesse.setLayoutX(210);
    bdfAutoRotationVitesse.setLayoutY(70);
    bdfAutoRotationVitesse.setMaxWidth(70);
    lblVitesse.disableProperty().bind(cbAutoRotationDemarrage.selectedProperty().not());
    cbAutoRotationVitesse.disableProperty().bind(cbAutoRotationDemarrage.selectedProperty().not());
    Label lblUnites = new Label(rbLocalisation.getString("main.parTour"));
    lblUnites.setLayoutX(290);
    lblUnites.setLayoutY(75);
    Separator spAutotour = new Separator(Orientation.HORIZONTAL);
    spAutotour.setLayoutX(0);
    spAutotour.setLayoutY(100);
    spAutotour.setMinWidth(380);

    cbAutoTourDemarrage = new CheckBox(rbLocalisation.getString("main.autoTour"));
    cbAutoTourDemarrage.setSelected(false);
    cbAutoTourDemarrage.setLayoutX(10);
    cbAutoTourDemarrage.setLayoutY(120);
    Label lblDemarrageAutoTour = new Label(rbLocalisation.getString("main.autoTourDemarrage"));
    lblDemarrageAutoTour.setLayoutX(10);
    lblDemarrageAutoTour.setLayoutY(150);
    bdfAutoTourDemarrage = new BigDecimalField(new BigDecimal(1));
    bdfAutoTourDemarrage.setLayoutX(240);
    bdfAutoTourDemarrage.setLayoutY(180);
    bdfAutoTourDemarrage.setMaxWidth(70);

    Label lblVitesseAutoTour = new Label(rbLocalisation.getString("main.autoTourChange"));
    lblVitesseAutoTour.setLayoutX(10);
    lblVitesseAutoTour.setLayoutY(210);

    cbAutoTourType = new ComboBox();
    cbAutoTourType.getItems().add(rbLocalisation.getString("main.nTours"));
    cbAutoTourType.getItems().add(rbLocalisation.getString("main.nSecondes"));
    cbAutoTourType.getSelectionModel().select(1);
    cbAutoTourType.setLayoutX(30);
    cbAutoTourType.setLayoutY(240);
    cbAutoTourType.setMaxWidth(140);
    bdfAutoTourLimite = new BigDecimalField(new BigDecimal(1));
    bdfAutoTourLimite.setLayoutX(240);
    bdfAutoTourLimite.setLayoutY(240);
    bdfAutoTourLimite.setMaxWidth(70);
    Label lblN = new Label("n=");
    lblN.setLayoutX(210);
    lblN.setLayoutY(245);
    cbAutoTourType.disableProperty().bind(cbAutoTourDemarrage.selectedProperty().not());
    bdfAutoTourLimite.disableProperty().bind(cbAutoTourDemarrage.selectedProperty().not());

    cbAutoRotationVitesse.getSelectionModel().selectedIndexProperty().addListener((ov, av, nv) -> {
        if (cbAutoRotationVitesse.getSelectionModel().getSelectedIndex() == 3) {
            bdfAutoRotationVitesse.setDisable(false);
            setiAutoRotationVitesse(bdfAutoRotationVitesse.getNumber().toBigInteger().intValue());
        } else {
            bdfAutoRotationVitesse.setDisable(true);
            setiAutoRotationVitesse(10 * (cbAutoRotationVitesse.getSelectionModel().getSelectedIndex() + 1));
        }
    });
    cbIntroPetitePlanete.selectedProperty().addListener((ov, av, nv) -> {
        setbIntroPetitePlanete(nv);
        poParametresVisite.setbValide(isbIntroPetitePlanete());
    });
    cbAutoRotationDemarrage.selectedProperty().addListener((ov, av, nv) -> {
        setbAutoRotationDemarre(nv);
        poAutoRotation.setbValide(isbAutoRotationDemarre() || isbAutoTourDemarre());
    });
    bdfAutoRotationVitesse.numberProperty().addListener((ov, av, nv) -> {
        setiAutoRotationVitesse(nv.toBigInteger().intValue());
    });

    cbAutoTourType.getSelectionModel().selectedIndexProperty().addListener((ov, av, nv) -> {
        if (cbAutoTourType.getSelectionModel().getSelectedIndex() == 0) {
            setStrAutoTourType("tours");
        } else {
            setStrAutoTourType("secondes");
        }
    });
    cbAutoTourDemarrage.selectedProperty().addListener((ov, av, nv) -> {
        setbAutoTourDemarre(nv);
        poAutoRotation.setbValide(isbAutoRotationDemarre() || isbAutoTourDemarre());
        getGestionnaireInterface().getApBtnVA().setDisable(!nv);
    });
    bdfAutoTourLimite.numberProperty().addListener((ov, av, nv) -> {
        setiAutoTourLimite(nv.toBigInteger().intValue());
    });
    bdfAutoTourDemarrage.numberProperty().addListener((ov, av, nv) -> {
        setiAutoTourDemarrage(nv.toBigInteger().intValue());
    });

    apAutoRotation.getChildren().addAll(cbAutoRotationDemarrage, lblVitesse, cbAutoRotationVitesse,
            bdfAutoRotationVitesse, lblUnites, spAutotour, cbAutoTourDemarrage, lblDemarrageAutoTour,
            bdfAutoTourDemarrage, lblVitesseAutoTour, cbAutoTourType, lblN, bdfAutoTourLimite);

    AnchorPane apParametresPano = new AnchorPane();
    apParametresPano.setPrefHeight(340);
    apParametresPano.setLayoutY(40);
    ImageView ivSupprPanoramique = new ImageView(
            new Image("file:" + getStrRepertAppli() + File.separator + "images/suppr.png", 48, 48, true, true));
    ImageView ivModifPanoramique = new ImageView(new Image(
            "file:" + getStrRepertAppli() + File.separator + "images/modifie.png", 48, 48, true, true));
    Button btnSupprimePano = new Button(rbLocalisation.getString("main.supprimePanoCourant"),
            ivSupprPanoramique);
    btnSupprimePano.setLayoutX(190);
    btnSupprimePano.setLayoutY(70);
    btnSupprimePano.setPrefSize(160, 60);
    btnSupprimePano.setMinSize(160, 60);
    btnSupprimePano.setMaxSize(160, 60);
    btnSupprimePano.setWrapText(true);
    btnSupprimePano.setOnAction((e) -> {
        retirePanoCourant();
    });
    Button btnModifiePano = new Button(rbLocalisation.getString("main.modifiePanoCourant"), ivModifPanoramique);
    btnModifiePano.setLayoutX(20);
    btnModifiePano.setLayoutY(70);
    btnModifiePano.setPrefSize(160, 60);
    btnModifiePano.setMinSize(160, 60);
    btnModifiePano.setMaxSize(160, 60);
    btnModifiePano.setWrapText(true);
    btnModifiePano.setOnAction((e) -> {
        String strRepertPano = getPanoramiquesProjet()[getiPanoActuel()].getStrNomFichier().substring(0,
                getPanoramiquesProjet()[getiPanoActuel()].getStrNomFichier().lastIndexOf(File.separator));
        FileChooser fileChooser = new FileChooser();
        FileChooser.ExtensionFilter extFilterImage = new FileChooser.ExtensionFilter(
                "Fichiers Image (JPG,BMP,TIFF)", "*.jpg", "*.bmp", "*.tif");
        FileChooser.ExtensionFilter extFilterJpeg = new FileChooser.ExtensionFilter("Fichiers JPEG (*.jpg)",
                "*.jpg");
        FileChooser.ExtensionFilter extFilterBmp = new FileChooser.ExtensionFilter("Fichiers BMP (*.bmp)",
                "*.bmp");
        FileChooser.ExtensionFilter extFilterTiff = new FileChooser.ExtensionFilter("Fichiers TIFF (*.tif)",
                "*.tif");
        File fileRepert = new File(strRepertPano + File.separator);
        fileChooser.setInitialDirectory(fileRepert);
        fileChooser.getExtensionFilters().addAll(extFilterJpeg, extFilterTiff, extFilterBmp, extFilterImage);

        File filePano = fileChooser.showOpenDialog(null);
        if (filePano != null) {
            setbDejaSauve(false);
            getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
            String strFilePano = filePano.getAbsolutePath();
            String strExtension = strFilePano.substring(strFilePano.length() - 3, strFilePano.length());
            Image imgPano = null;
            if ("tif".equals(strExtension)) {
                try {
                    imgPano = ReadWriteImage.readTiff(strFilePano);

                } catch (IOException | ImageReadException ex) {
                    Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
                }
            } else {
                imgPano = new Image("file:" + strFilePano);
            }
            if (imgPano != null) {
                if (imgPano.getWidth() == imgPano.getHeight()) {
                    try {
                        rechargePanoramiqueProjet(strFilePano, Panoramique.CUBE);
                    } catch (InterruptedException ex) {
                        Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
                    }

                } else {
                    try {
                        rechargePanoramiqueProjet(strFilePano, Panoramique.SPHERE);
                    } catch (InterruptedException ex) {
                        Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
                affichePanoChoisit(getiPanoActuel());
                if (apListePanoTriable != null) {
                    apParametresVisite.getChildren().remove(apListePanoTriable);
                }
                ordPano.rafraichitListe();
                ordPano.ajouteNouveauxPanos();
                apListePanoTriable = ordPano.getApListePanoramiques();
                apListePanoTriable.setMaxHeight(apListePanoTriable.getPrefHeight());
                apListePanoTriable.setMinHeight(apListePanoTriable.getPrefHeight());
                apListePanoTriable.setVisible(true);
                apParametresVisite.getChildren().remove(apListePanoTriable);
                apParametresVisite.getChildren().add(apListePanoTriable);
                apListePanoTriable.setLayoutX(40);
                apListePanoTriable.setLayoutY(130);
                apParametresVisite.setPrefHeight(120 + apListePanoTriable.getPrefHeight() + 20);
                if (apParametresVisite.isVisible()) {
                    apParametresVisite.setMinHeight(120 + apListePanoTriable.getPrefHeight() + 20);
                    apParametresVisite.setMaxHeight(120 + apListePanoTriable.getPrefHeight() + 20);
                }

                rafraichitListePano();

            }

        }

    });
    Label lblTitrePano = new Label(rbLocalisation.getString("main.titrePano"));
    lblTitrePano.setStyle("-fx-font-size : 1em;");
    lblTitrePano.setPadding(new Insets(5, 5, 5, 0));
    lblTitrePano.setLayoutX(10);
    lblTitrePano.setLayoutY(10);
    tfTitrePano = new TextField();
    tfTitrePano.setId("txttitrepano");
    tfTitrePano.setPrefSize(220, 25);
    tfTitrePano.setMaxSize(250, 25);
    tfTitrePano.setLayoutX(60);
    tfTitrePano.setLayoutY(40);

    tfTitrePano.textProperty().addListener((final ObservableValue<? extends String> observable,
            final String oldValue, final String newValue) -> {
        clickBtnValidePano();
    });

    slMinLat = new Slider(-90, -45, -90);
    slMinLat.setDisable(true);
    slMaxLat = new Slider(45, 90, 90);
    slMaxLat.setDisable(true);
    cbMinLat = new CheckBox(rbLocalisation.getString("main.blocageNadir"));
    cbMaxLat = new CheckBox(rbLocalisation.getString("main.blocageZenith"));
    slMinFov = new Slider(5, 70, 12);
    slMaxFov = new Slider(5, 70, 70);
    Label lblMinFov = new Label("min. hFOV : 12");
    Label lblMaxFov = new Label("max. hFOV : 70");
    slMinLat.disableProperty().bind(cbMinLat.selectedProperty().not());
    slMaxLat.disableProperty().bind(cbMaxLat.selectedProperty().not());
    slMinLat.setLayoutX(10);
    slMinLat.setLayoutY(160);
    cbMinLat.setLayoutX(190);
    cbMinLat.setLayoutY(160);
    slMaxLat.setLayoutX(10);
    slMaxLat.setLayoutY(190);
    cbMaxLat.setLayoutX(190);
    cbMaxLat.setLayoutY(190);
    slMinFov.setLayoutX(10);
    slMinFov.setLayoutY(220);
    lblMinFov.setLayoutX(190);
    lblMinFov.setLayoutY(220);
    slMaxFov.setLayoutX(10);
    slMaxFov.setLayoutY(250);
    lblMaxFov.setLayoutX(190);
    lblMaxFov.setLayoutY(250);
    Button btnBlocage = new Button(rbLocalisation.getString("main.blocage"));
    btnBlocage.setLayoutX(190);
    btnBlocage.setLayoutY(300);
    ligNadir = new Line();
    ligNadir.setVisible(false);
    ligNadir.setStroke(Color.YELLOW);
    ligNadir.setStrokeWidth(2);
    ligZenith = new Line();
    ligZenith.setVisible(false);
    ligZenith.setStroke(Color.YELLOW);
    ligZenith.setStrokeWidth(2);
    ligNadir.visibleProperty().bind(cbMinLat.selectedProperty());
    ligZenith.visibleProperty().bind(cbMaxLat.selectedProperty());

    slMinFov.valueProperty().addListener((observableValue, oldValue, newValue) -> {
        setbDejaSauve(false);
        getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");

        getPanoramiquesProjet()[iPanoActuel].setFovMin((double) newValue);
        double val1 = Math.round((double) newValue * 10) / 10;
        lblMinFov.setText("min. FOV : " + val1 + "");
        slMaxFov.setMin(val1);
        navigateurPanoramique.setMinFov(val1);
        if (navigateurPanoramique.getFov() < val1) {
            navigateurPanoramique.setFov(val1);

        }
        if (navigateurPanoramique.getChoixFov() < val1) {
            navigateurPanoramique.setChoixFov(val1);
        }
    });

    slMaxFov.valueProperty().addListener((observableValue, oldValue, newValue) -> {
        setbDejaSauve(false);
        getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");

        getPanoramiquesProjet()[iPanoActuel].setFovMax((double) newValue);
        double val1 = Math.round((double) newValue * 10) / 10;
        lblMaxFov.setText("max. FOV : " + val1 + "");
        slMinFov.setMax(val1);
        navigateurPanoramique.setMaxFov(val1);
        if (navigateurPanoramique.getFov() > val1) {
            navigateurPanoramique.setFov(val1);
        }
        if (navigateurPanoramique.getChoixFov() > val1) {
            navigateurPanoramique.setChoixFov(val1);
        }
    });

    slMinLat.valueProperty().addListener((observableValue, oldValue, newValue) -> {
        setbDejaSauve(false);
        getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");

        double largeurImage1 = panePanoramique.getPrefWidth();
        double X11 = ivImagePanoramique.getLayoutX();
        double Y1 = (90.0d - (double) newValue) * largeurImage1 / 360.0d;
        ligNadir.setStartX(X11);
        ligNadir.setStartY(Y1);
        ligNadir.setEndX(X11 + largeurImage1);
        ligNadir.setEndY(Y1);
        getPanoramiquesProjet()[iPanoActuel].setMinLat((double) newValue);
    });

    slMaxLat.valueProperty().addListener((observableValue, oldValue, newValue) -> {
        setbDejaSauve(false);
        getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");

        double largeurImage1 = panePanoramique.getPrefWidth();
        double X11 = ivImagePanoramique.getLayoutX();
        double Y1 = (90.0d - (double) newValue) * largeurImage1 / 360.0d;
        ligZenith.setStartX(X11);
        ligZenith.setStartY(Y1);
        ligZenith.setEndX(X11 + largeurImage1);
        ligZenith.setEndY(Y1);
        getPanoramiquesProjet()[iPanoActuel].setMaxLat((double) newValue);
    });

    cbMinLat.selectedProperty().addListener((ov, av, nv) -> {
        setbDejaSauve(false);
        getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");

        double largeurImage1 = panePanoramique.getPrefWidth();
        double X11 = ivImagePanoramique.getLayoutX();
        double Y1 = (90.0d - (double) slMinLat.getValue()) * largeurImage1 / 360.0d;
        ligNadir.setStartX(X11);
        ligNadir.setStartY(Y1);
        ligNadir.setEndX(X11 + largeurImage1);
        ligNadir.setEndY(Y1);
        getPanoramiquesProjet()[iPanoActuel].setbMinLat(nv);
    });

    cbMaxLat.selectedProperty().addListener((ov, av, nv) -> {
        setbDejaSauve(false);
        getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");

        double largeurImage1 = panePanoramique.getPrefWidth();
        double X11 = ivImagePanoramique.getLayoutX();
        double Y1 = (90.0d - (double) (double) slMaxLat.getValue()) * largeurImage1 / 360.0d;
        ligZenith.setStartX(X11);
        ligZenith.setStartY(Y1);
        ligZenith.setEndX(X11 + largeurImage1);
        ligZenith.setEndY(Y1);
        getPanoramiquesProjet()[iPanoActuel].setbMaxLat(nv);
    });

    btnBlocage.setOnAction((e) -> {
        setbDejaSauve(false);
        getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");

        for (int i = 0; i < iNombrePanoramiques; i++) {
            getPanoramiquesProjet()[i].setbMaxLat(getPanoramiquesProjet()[iPanoActuel].isbMaxLat());
            getPanoramiquesProjet()[i].setbMinLat(getPanoramiquesProjet()[iPanoActuel].isbMinLat());
            getPanoramiquesProjet()[i].setMaxLat(getPanoramiquesProjet()[iPanoActuel].getMaxLat());
            getPanoramiquesProjet()[i].setMinLat(getPanoramiquesProjet()[iPanoActuel].getMinLat());
            getPanoramiquesProjet()[i].setFovMax(getPanoramiquesProjet()[iPanoActuel].getFovMax());
            getPanoramiquesProjet()[i].setFovMin(getPanoramiquesProjet()[iPanoActuel].getFovMin());
        }
    });

    apParametresPano.getChildren().addAll(btnModifiePano, btnSupprimePano, lblTitrePano, tfTitrePano, slMaxLat,
            cbMaxLat, slMinLat, cbMinLat, slMinFov, lblMinFov, slMaxFov, lblMaxFov, btnBlocage);

    setApPPAN(new AnchorPane(
            new PaneOutil(true, rbLocalisation.getString("main.parametresPano"), apParametresPano, largeurOutil)
                    .getApPaneOutil()));

    setApGEO(new AnchorPane());
    apOpenLayers = new AnchorPane();
    apOpenLayers.setVisible(false);
    if (isbInternet()) {
        navigateurOpenLayers = new NavigateurOpenLayers();
        navigateurOpenLayers.setBingApiKey(getStrBingAPIKey());
        tfLongitude = new TextField();
        tfLatitude = new TextField();
        apOpenLayers = navigateurOpenLayers.afficheNavigateurOpenLayer(tfLongitude, tfLatitude, true);
        apOpenLayers.setPrefSize(800, 600);
        Button btnGeolocalise = new Button(rbLocalisation.getString("main.geolocalisation"));

        btnGeolocalise.setLayoutX(10);
        btnGeolocalise.setLayoutY(25);
        btnGeolocalise.setPrefWidth(120);
        btnGeolocalise.setOnAction((e) -> {
            navigateurOpenLayers.retireMarqueur(0);
            if (navigateurOpenLayers.getBingApiKey().equals("")) {
                navigateurOpenLayers.afficheCartesOpenlayer();
            } else {
                navigateurOpenLayers.valideBingApiKey(navigateurOpenLayers.getBingApiKey());
            }
            if (panoramiquesProjet[getiPanoActuel()].getMarqueurGeolocatisation() != null) {
                navigateurOpenLayers.allerCoordonnees(
                        panoramiquesProjet[getiPanoActuel()].getMarqueurGeolocatisation(), 17);
                navigateurOpenLayers
                        .setMarqueur(panoramiquesProjet[getiPanoActuel()].getMarqueurGeolocatisation());
                String strFichierPano = getPanoramiquesProjet()[getiPanoActuel()].getStrNomFichier()
                        .substring(
                                getPanoramiquesProjet()[getiPanoActuel()].getStrNomFichier()
                                        .lastIndexOf(File.separator) + 1,
                                getPanoramiquesProjet()[getiPanoActuel()].getStrNomFichier().length())
                        .split("\\.")[0];
                String strHTML = "<span style='font-family : Verdana,Arial,sans-serif;font-weight:bold;font-size : 12px;'>"
                        + getPanoramiquesProjet()[getiPanoActuel()].getStrTitrePanoramique() + "</span><br/>"
                        + "<span style='font-family : Verdana,Arial,sans-serif;bold;font-size : 10px;'>"
                        + strFichierPano + "</span>";
                strHTML = strHTML.replace("\\", "/");
                navigateurOpenLayers.ajouteMarqueur(0,
                        panoramiquesProjet[getiPanoActuel()].getMarqueurGeolocatisation(), strHTML);
            }
            apOpenLayers.setVisible(true);
        });
        tfLatitude.setLayoutX(140);
        tfLatitude.setLayoutY(10);
        tfLongitude.setLayoutX(140);
        tfLongitude.setLayoutY(40);
        apOpenLayers.setLayoutX(200);
        apOpenLayers.setLayoutY(150);
        apOpenLayers.setVisible(false);
        AnchorPane apGeolocalise = new AnchorPane();
        apGeolocalise.setPrefHeight(75);
        apGeolocalise.getChildren().addAll(btnGeolocalise, tfLatitude, tfLongitude);
        apGeolocalise.setLayoutX(10);
        apGeolocalise.setLayoutY(40);
        setPoGeolocalisation(
                new PaneOutil(rbLocalisation.getString("main.geolocalisation"), apGeolocalise, largeurOutil));
        setApGEO(new AnchorPane(getPoGeolocalisation().getApPaneOutil()));

        apOpenLayers.setLayoutX((iLargeur - apOpenLayers.getPrefWidth()) / 2);
        apOpenLayers.setLayoutY((iHauteur - apOpenLayers.getPrefHeight()) / 2);
        apOpenLayers.visibleProperty().addListener((ov, av, nv) -> {
            mbarPrincipal.setDisable(nv);
            hbBarreBouton.setDisable(nv);
            tpEnvironnement.setDisable(nv);

        });
    }
    apVisuPanoramique.setLayoutY(40);
    apVisuPanoramique.setPrefWidth(340);
    apVisuPanoramique.setPrefHeight(295);

    setApVISU(new AnchorPane(
            new PaneOutil(true, rbLocalisation.getString("main.visualisation"), apVisuPanoramique, largeurOutil)
                    .getApPaneOutil()));

    vbVisuHotspots = new VBox();
    apVisuHS = new AnchorPane(vbVisuHotspots);
    apVisuHS.setLayoutY(40);
    apHS1 = new PaneOutil(true, "Hotspots", apVisuHS, largeurOutil);

    setApHS(new AnchorPane(apHS1.getApPaneOutil()));

    getVbChoixPanoramique().getChildren().addAll(getApPVIS(), getApAR(), getApPPAN(), getApGEO(), getApVISU(),
            getApHS());
    getVbChoixPanoramique().setSpacing(-5);
    vbOutils.getChildren().addAll(getVbChoixPanoramique());
    getVbChoixPanoramique().setVisible(false);
    /*
     Cration du panneau d'info du panoramique
     */

    spVuePanoramique = new ScrollPane();

    hbCoordonnees = new HBox();
    panePanoramique = new Pane();
    apPanneauPrincipal = new AnchorPane();
    lblLong = new Label("");
    lblLat = new Label("");
    ivImagePanoramique = new ImageView();

    stPrimaryStage.setScene(getScnPrincipale());

    /**
     *
     */
    spVuePanoramique.setPrefSize(iLargeur - largeurOutils - 20, iHauteur - 110);
    spVuePanoramique.setMaxSize(iLargeur - largeurOutils - 20, iHauteur - 110);
    spVuePanoramique.setVbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    spVuePanoramique.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    spVuePanoramique.setTranslateY(5);
    /**
     *
     */
    AnchorPane apPanneauOutils = new AnchorPane();
    apPanneauOutils.getChildren().addAll(spPanneauOutils);
    apPanneauOutils.setTranslateY(3);
    apPanneauOutils.setTranslateX(20);
    spPanneauOutils.setContent(vbOutils);
    spPanneauOutils.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);
    spPanneauOutils.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    spPanneauOutils.setPrefSize(largeurOutils, iHauteur - 112);
    spPanneauOutils.setMaxWidth(largeurOutils);
    spPanneauOutils.setMaxHeight(iHauteur - 112);
    spPanneauOutils.setLayoutY(0);
    spPanneauOutils.setLayoutX(0);
    /**
     *
     */
    panePanoramique.setCursor(Cursor.CROSSHAIR);
    vbOutils.setPrefWidth(largeurOutils - 20);
    vbOutils.minHeight(iHauteur - 110);
    vbOutils.setLayoutX(3);
    lblLong.setPrefSize(100, 15);
    lblLat.setPrefSize(100, 15);
    lblLat.setTranslateX(50);
    apPanneauPrincipal.setPrefSize(iLargeur - largeurOutils - 20, iHauteur - 110);
    apListeImagesPanoramiques = new AnchorPane();
    apListeImagesPanoramiques.setPrefWidth(iLargeurVignettes + 40);
    apListeImagesPanoramiques.setMinWidth(iLargeurVignettes + 40);
    apListeImagesPanoramiques.setMaxWidth(iLargeurVignettes + 40);
    apListeImagesPanoramiques.setPrefHeight(iHauteur - 140);
    apListeImagesPanoramiques.setLayoutX(-iLargeurVignettes - 30);
    apListeImagesPanoramiques.setLayoutY(0);
    apListeImagesPanoramiques.setStyle("-fx-background-color :rgba(0,0,0,0);");
    apListeImagesPanoramiques.setOnMouseEntered((e) -> {
        apListeImagesPanoramiques.setLayoutX(0);
    });
    apListeImagesPanoramiques.setOnMouseExited((e) -> {
        apListeImagesPanoramiques.setLayoutX(-iLargeurVignettes - 30);
    });
    Label lblVignettes = new Label(rbLocalisation.getString("main.vignettes"));
    lblVignettes.setPrefSize(70, 20);
    lblVignettes.setTextAlignment(TextAlignment.CENTER);
    lblVignettes.setStyle("-fx-background-color:-fx-base;" + "-fx-border-color: derive(-fx-base,10%);"
            + "-fx-border-width: 1px;");
    lblVignettes.setTranslateX(-lblVignettes.getPrefWidth() / 2 + lblVignettes.getPrefHeight() / 2);
    lblVignettes.setTranslateY(lblVignettes.getPrefWidth() / 2 - lblVignettes.getPrefHeight() / 2);
    lblVignettes.setRotate(270);
    lblVignettes.setLayoutX(iLargeurVignettes + 30);
    apVignettesPano = new AnchorPane();
    apVignettesPano.setPrefWidth(iLargeurVignettes + 10);
    apVignettesPano.setMinHeight(iHauteur - 140);
    apVignettesPano.setStyle("-fx-background-color:-fx-base;");
    rectVignettePano = new Rectangle(0, 0, iLargeurVignettes, iLargeurVignettes / 2.d);
    rectVignettePano.setLayoutX(5);
    rectVignettePano.setLayoutY(10);
    rectVignettePano.setFill(Color.web("#fff", 0.5));
    rectVignettePano.setStroke(Color.WHITE);
    rectVignettePano.setStrokeWidth(2.0);
    rectVignettePano.setVisible(false);
    apVignettesPano.getChildren().add(rectVignettePano);
    ScrollPane spListeImagesPanoramiques = new ScrollPane(apVignettesPano);
    spListeImagesPanoramiques.setPrefWidth(iLargeurVignettes + 30);
    spListeImagesPanoramiques.setPrefHeight(iHauteur - 130);
    spListeImagesPanoramiques.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);
    spListeImagesPanoramiques
            .setStyle("-fx-background-color:-fx-base;" + "-fx-border-color: derive(-fx-base,10%);"
                    + "-fx-effect: dropshadow( three-pass-box , rgba(0,0,0,0.2) , 8, 0.0 , 0 , 8 );"
                    + "-fx-border-width: 1px;");
    apListeImagesPanoramiques.getChildren().addAll(spListeImagesPanoramiques, lblVignettes);

    ivImagePanoramique.setCache(true);
    largeur = largeurMax - 60;
    ivImagePanoramique.setFitWidth(largeur);
    ivImagePanoramique.setFitHeight(largeur / 2.0d);
    ivImagePanoramique.setLayoutX((largeurMax - largeur) / 2.d);
    panePanoramique.getChildren().add(ivImagePanoramique);
    panePanoramique.setPrefSize(ivImagePanoramique.getFitWidth(), ivImagePanoramique.getFitHeight());
    panePanoramique.setMaxSize(ivImagePanoramique.getFitWidth(), ivImagePanoramique.getFitHeight());

    panePanoramique.setLayoutY(20);
    lblLong.setTranslateX(50);
    lblLat.setTranslateX(80);
    hbCoordonnees.getChildren().setAll(lblLong, lblLat);
    spVuePanoramique.setContent(apPanneauPrincipal);
    hbEnvironnement.getChildren().setAll(spVuePanoramique, apPanneauOutils);
    apEnvironnement = new AnchorPane();
    setApAttends(new AnchorPane());
    getApAttends().setPrefHeight(250);
    getApAttends().setPrefWidth(600);
    getApAttends().setMaxWidth(600);
    getApAttends().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;");
    getApAttends().setLayoutX((iLargeur - getApAttends().getPrefWidth()) / 2.d);
    getApAttends().setLayoutY((iHauteur - getApAttends().getPrefHeight()) / 2.d - 55);
    pbarAvanceChargement = new ProgressBar();
    pbarAvanceChargement.setPrefSize(400, 30);
    pbarAvanceChargement.setLayoutX((getApAttends().getPrefWidth() - pbarAvanceChargement.getPrefWidth()) / 2);
    pbarAvanceChargement.setLayoutY(70);
    Label lblAttends = new Label(rbLocalisation.getString("main.attendsChargement"));
    lblAttends.setMinWidth(600);
    lblAttends.setAlignment(Pos.CENTER);
    lblAttends.setStyle("-fx-background-color : #777;");
    lblAttends.setTextFill(Color.WHITE);
    lblAttends.setLayoutY(5);
    lblAttends.setFont(Font.font(14));
    lblCharge = new Label();
    lblCharge.setMinWidth(600);
    lblCharge.setLayoutY(150);
    lblCharge.setAlignment(Pos.CENTER);
    lblNiveaux = new Label();
    lblNiveaux.setMinWidth(600);
    lblNiveaux.setLayoutY(180);
    lblNiveaux.setAlignment(Pos.CENTER);
    getApAttends().getChildren().addAll(lblAttends, pbarAvanceChargement, lblCharge, lblNiveaux);
    getApAttends().setVisible(false);
    apEnvironnement.getChildren().addAll(tpEnvironnement, getApAttends());
    if (isMac()) {
        apEnvironnement.setTranslateY(-30);
    }
    vbRacine.getChildren().addAll(apEnvironnement);
    apPanneauPrincipal.getChildren().setAll(hbCoordonnees, panePanoramique);
    stPrimaryStage.show();
    popUp.affichePopup();
    lblDragDrop = new Label(rbLocalisation.getString("main.dragDrop"));
    lblDragDrop.setMinHeight(spVuePanoramique.getPrefHeight());
    lblDragDrop.setMaxHeight(spVuePanoramique.getPrefHeight());
    lblDragDrop.setMinWidth(spVuePanoramique.getPrefWidth());
    lblDragDrop.setMaxWidth(spVuePanoramique.getPrefWidth());
    lblDragDrop.setAlignment(Pos.CENTER);
    lblDragDrop.setTextFill(Color.web("#c9c7c7"));
    lblDragDrop.setTextAlignment(TextAlignment.CENTER);
    lblDragDrop.setWrapText(true);
    lblDragDrop.setStyle("-fx-font-size:72px");
    lblDragDrop.setTranslateY(-100);

    apLoupe.setLayoutX(35);
    apLoupe.setLayoutY(35);
    apLoupe.setVisible(false);

    apPanneauPrincipal.getChildren().addAll(lblDragDrop, spAfficheLegende(), apLoupe,
            apListeImagesPanoramiques);

    apCreationBarre = new AnchorPane();
    apCreationBarre.setVisible(false);
    apCreationDiaporama = new AnchorPane();
    apCreationDiaporama.setVisible(false);
    apEnvironnement.getChildren().addAll(apCreationBarre, apCreationDiaporama, apOpenLayers);
}