Example usage for javafx.scene.image ImageView setCursor

List of usage examples for javafx.scene.image ImageView setCursor

Introduction

In this page you can find the example usage for javafx.scene.image ImageView setCursor.

Prototype

public final void setCursor(Cursor value) 

Source Link

Usage

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

public void addFormatIcons() {
    colFormats.setCellFactory(/*from   ww w  .j a  v a2  s  .  co  m*/
            new Callback<TableColumn<ReportRow, ObservableMap<String, String>>, TableCell<ReportRow, ObservableMap<String, String>>>() {
                @Override
                public TableCell<ReportRow, ObservableMap<String, String>> call(
                        TableColumn<ReportRow, ObservableMap<String, String>> param) {
                    TableCell<ReportRow, ObservableMap<String, String>> cell = new TableCell<ReportRow, ObservableMap<String, String>>() {
                        @Override
                        public void updateItem(ObservableMap<String, String> item, boolean empty) {
                            super.updateItem(item, empty);
                            if (!empty && item != null) {

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

                                for (String i : item.keySet()) {
                                    ImageView icon = new ImageView();
                                    icon.setId("but" + i);
                                    icon.setFitHeight(20);
                                    icon.setFitWidth(20);
                                    icon.setImage(new Image("images/formats/" + i + ".png"));
                                    icon.setCursor(Cursor.HAND);

                                    String type = i;
                                    String path = item.get(i);
                                    icon.setOnMouseClicked(new EventHandler<MouseEvent>() {
                                        @Override
                                        public void handle(MouseEvent event) {
                                            ArrayMessage am = new ArrayMessage();
                                            am.add(GuiConfig.PERSPECTIVE_SHOW, new UiMessage());
                                            am.add(GuiConfig.PERSPECTIVE_SHOW + "." + GuiConfig.COMPONENT_SHOW,
                                                    new ShowMessage(type, path));
                                            getContext().send(GuiConfig.PERSPECTIVE_SHOW, am);
                                        }
                                    });

                                    ContextMenu contextMenu = new ContextMenu();
                                    javafx.scene.control.MenuItem download = new javafx.scene.control.MenuItem(
                                            "Download report");
                                    contextMenu.getItems().add(download);
                                    icon.setOnContextMenuRequested(new EventHandler<ContextMenuEvent>() {
                                        public void handle(ContextMenuEvent e) {
                                            contextMenu.show(icon, e.getScreenX(), e.getScreenY());
                                        }
                                    });
                                    box.getChildren().add(icon);
                                }

                                setGraphic(box);
                            } else {
                                setGraphic(null);
                            }
                        }
                    };
                    return cell;
                }
            });
}

From source file:editeurpanovisu.EditeurPanovisu.java

private AnchorPane afficherListePanosVignettes(int numHS) {

    AnchorPane aplistePano = new AnchorPane();
    aplistePano.setOpacity(1);//from   w  w  w .ja v  a  2 s  .c o  m
    Pane fond = new Pane();
    fond.setStyle("-fx-background-color : #bbb;");
    fond.setPrefWidth(540);
    fond.setPrefHeight(((nombrePanoramiques - 2) / 4 + 1) * 65 + 10);
    fond.setMinWidth(540);
    fond.setMinHeight(70);
    aplistePano.getChildren().add(fond);
    aplistePano.setStyle("-fx-backgroung-color : #bbb;");
    int j = 0;
    ImageView[] IVPano;
    IVPano = new ImageView[nombrePanoramiques];
    double xPos;
    double yPos;
    int row = 0;
    for (int i = 0; i < nombrePanoramiques; i++) {
        int numeroPano = i;
        IVPano[j] = new ImageView(panoramiquesProjet[i].getVignettePanoramique());
        IVPano[j].setFitWidth(120);
        IVPano[j].setFitHeight(60);
        IVPano[j].setSmooth(true);
        String nomPano = panoramiquesProjet[i].getNomFichier();
        int col = j % 4;
        row = j / 4;
        xPos = col * 130 + 25;
        yPos = row * 65 + 5;
        IVPano[j].setLayoutX(xPos);
        IVPano[j].setLayoutY(yPos);
        IVPano[j].setCursor(Cursor.HAND);
        IVPano[j].setStyle("-fx-background-color : #ccc;");
        Tooltip t = new Tooltip(
                nomPano.substring(nomPano.lastIndexOf(File.separator) + 1, nomPano.lastIndexOf(".")));
        t.setStyle(tooltipStyle);
        Tooltip.install(IVPano[j], t);
        IVPano[j].setOnMouseClicked((MouseEvent me) -> {
            pano.setCursor(Cursor.CROSSHAIR);
            pano.setOnMouseClicked((MouseEvent me1) -> {
                gereSourisPanoramique(me1);
            });
            panoListeVignette = nomPano;
            if (panoramiquesProjet[numeroPano].getTitrePanoramique() != null) {
                String texteHS = panoramiquesProjet[numeroPano].getTitrePanoramique();
                TextArea txtHS = (TextArea) outils.lookup("#txtHS" + numHS);
                txtHS.setText(texteHS);
            }
            panoramiquesProjet[panoActuel].getHotspot(numHS).setNumeroPano(numeroPano);
            ComboBox cbx = (ComboBox) outils.lookup("#cbpano" + numHS);
            cbx.setValue(nomPano.substring(nomPano.lastIndexOf(File.separator) + 1, nomPano.lastIndexOf(".")));
            aplistePano.setVisible(false);
            me.consume();
        });
        aplistePano.getChildren().add(IVPano[j]);
        j++;

    }
    int taille = (row + 1) * 65 + 5;
    aplistePano.setPrefWidth(540);
    aplistePano.setPrefHeight(taille);
    aplistePano.setMinWidth(540);
    aplistePano.setMinHeight(taille);
    ImageView IVClose = new ImageView(
            new Image("file:" + repertAppli + File.separator + "images/ferme.png", 20, 20, true, true));
    IVClose.setLayoutX(2);
    IVClose.setLayoutY(5);
    IVClose.setCursor(Cursor.HAND);
    aplistePano.getChildren().add(IVClose);
    IVClose.setOnMouseClicked((MouseEvent me) -> {
        pano.setCursor(Cursor.CROSSHAIR);
        pano.setOnMouseClicked((MouseEvent me1) -> {
            gereSourisPanoramique(me1);
        });

        panoListeVignette = "";
        aplistePano.setVisible(false);
        me.consume();
    });
    aplistePano.setTranslateZ(2);
    return aplistePano;
}

From source file:editeurpanovisu.EditeurPanovisu.java

public static void rafraichitListePano() {
    apVignettesPano.getChildren().clear();
    cbListeChoixPanoramique.getItems().clear();
    for (int i = 0; i < getiNombrePanoramiques(); i++) {
        String strFichierPano = getPanoramiquesProjet()[i].getStrNomFichier();
        String strNomPano = strFichierPano.substring(strFichierPano.lastIndexOf(File.separator) + 1,
                strFichierPano.length());
        cbListeChoixPanoramique.getItems().add(strNomPano);
    }/*www .java 2  s .c  o m*/
    for (int ii = 0; ii < ordPano.getStrPanos().size(); ii++) {
        int i = Integer.parseInt(ordPano.getStrPanos().get(ii));
        ImageView ivVignettePano = new ImageView(getPanoramiquesProjet()[i].getImgPanoRect());
        ivVignettePano.setPreserveRatio(true);
        ivVignettePano.setFitWidth(iLargeurVignettes);
        ivVignettePano.setLayoutX(5);
        ivVignettePano.setLayoutY((iLargeurVignettes / 2 + 10) * ii + 10);
        ivVignettePano.setCursor(Cursor.HAND);
        int iNumero = i;
        ivVignettePano.setOnMouseClicked((e) -> {
            affichePanoChoisit(iNumero);
        });
        ivVignettePano.setOnMouseDragEntered((e) -> {
            ivVignettePano.setLayoutX(3);
            ivVignettePano.setStyle(
                    "-fx-border-color : #fff;" + "-fx-border-width : 2px;" + "-fx-border-style :solid;");
        });
        ivVignettePano.setOnMouseDragExited((e) -> {
            ivVignettePano.setLayoutX(5);
            ivVignettePano.setStyle("-fx-border-color : rgba(0,0,0,0);" + "-fx-border-width : 0px;"
                    + "-fx-border-style :none;");
        });
        apVignettesPano.getChildren().add(ivVignettePano);
    }
    int iPano = -1;
    int ii = 0;
    for (String stNumPano : ordPano.getStrPanos()) {
        if (Integer.parseInt(stNumPano) == getiPanoActuel()) {
            iPano = ii;
        }
        ii++;
    }
    rectVignettePano.setLayoutY((iLargeurVignettes / 2 + 10) * iPano + 10);
    rectVignettePano.setVisible(true);
    apVignettesPano.getChildren().add(rectVignettePano);
    cbListeChoixPanoramique.setValue(cbListeChoixPanoramique.getItems().get(getiPanoActuel()));
}

From source file:editeurpanovisu.EditeurPanovisu.java

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

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

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

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

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

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @param listFichiers liste des fichiers  charger
 * @param iNb nombre de fichiers  charger
 * @return Task/*from   ww w.  j ava  2s. c om*/
 */
public static Task tskChargeListeFichiers(final File[] listFichiers, int iNb) {
    return new Task() {
        @Override
        protected Object call() throws Exception {
            int i = 0;
            File[] fileLstFich1 = new File[listFichiers.length];
            String[] strTypeFich1 = new String[listFichiers.length];
            for (int jj = 0; jj < iNb; jj++) {
                File fileFichier = listFichiers[jj];
                String strNomfich = fileFichier.getAbsolutePath();
                String strExtension = strNomfich.substring(strNomfich.lastIndexOf(".") + 1, strNomfich.length())
                        .toLowerCase();
                if (strExtension.equals("jpg") || strExtension.equals("bmp") || strExtension.equals("tif")) {
                    Image imgPano = null;
                    if (strExtension.equals("tif")) {
                        try {
                            imgPano = ReadWriteImage.readTiff(fileFichier.getAbsolutePath());

                        } catch (ImageReadException | IOException ex) {
                            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
                        }
                    } else {
                        imgPano = new Image("file:" + fileFichier.getAbsolutePath());
                    }
                    strTypeFich1[i] = "";
                    if (imgPano != null) {
                        if (imgPano.getWidth() == 2 * imgPano.getHeight()) {
                            fileLstFich1[i] = fileFichier;
                            strTypeFich1[i] = Panoramique.SPHERE;
                            i++;
                        }
                        if (imgPano.getWidth() == imgPano.getHeight()) {
                            String strNom = fileFichier.getAbsolutePath().substring(0,
                                    fileFichier.getAbsolutePath().length() - 6);
                            boolean bTrouveFichier = false;
                            for (int j = 0; j < i; j++) {
                                String strNom1 = "";
                                if (fileLstFich1[j].getAbsolutePath().length() == fileFichier.getAbsolutePath()
                                        .length()) {
                                    strNom1 = fileLstFich1[j].getAbsolutePath().substring(0,
                                            fileFichier.getAbsolutePath().length() - 6);
                                }
                                if (strNom.equals(strNom1)) {
                                    bTrouveFichier = true;
                                }
                            }
                            if (!bTrouveFichier) {
                                fileLstFich1[i] = fileFichier;
                                strTypeFich1[i] = Panoramique.CUBE;
                                i++;
                            }
                        }
                    }

                }
            }
            File[] fileLstFich = new File[i];
            System.arraycopy(fileLstFich1, 0, fileLstFich, 0, i);

            for (int ii = 0; ii < fileLstFich.length; ii++) {
                File fileFichier1 = fileLstFich[ii];
                int iNumP = ii + 1;
                Platform.runLater(() -> {
                    lblCharge.setText(
                            "pano " + iNumP + "/" + fileLstFich.length + " : " + fileFichier1.getPath());
                    lblNiveaux.setText("");
                    pbarAvanceChargement.setProgress((double) (iNumP - 1) / (double) fileLstFich.length);
                });

                setbDejaSauve(false);
                mniSauveProjet.setDisable(false);
                setStrCurrentDir(fileFichier1.getParent());
                File fileImageRepert = new File(getStrRepertTemp() + File.separator + "panos");

                if (!fileImageRepert.exists()) {

                    fileImageRepert.mkdirs();
                }
                setStrRepertPanos(fileImageRepert.getAbsolutePath());
                ajoutePanoramiqueProjet(fileFichier1.getPath(), strTypeFich1[ii], iNumP, fileLstFich.length);
            }
            return true;
        }

        @Override
        protected void succeeded() {
            getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
            super.succeeded();
            cbListeChoixPanoramique.getItems().clear();
            apVignettesPano.getChildren().clear();
            for (int i = 0; i < getiNombrePanoramiques(); i++) {
                String strFichierPano = getPanoramiquesProjet()[i].getStrNomFichier();
                String strNomPano = strFichierPano.substring(strFichierPano.lastIndexOf(File.separator) + 1,
                        strFichierPano.length());
                cbListeChoixPanoramique.getItems().add(strNomPano);
                String strExtension = getPanoramiquesProjet()[i].getStrNomFichier().substring(
                        getPanoramiquesProjet()[i].getStrNomFichier().length() - 3,
                        getPanoramiquesProjet()[i].getStrNomFichier().length());
                ImageView ivVignettePano = new ImageView(
                        getPanoramiquesProjet()[i].getImgVignettePanoramique());
                ivVignettePano.setPreserveRatio(true);
                ivVignettePano.setFitWidth(iLargeurVignettes);
                ivVignettePano.setLayoutX(5);
                ivVignettePano.setLayoutY((iLargeurVignettes / 2 + 10) * i + 10);
                ivVignettePano.setCursor(Cursor.HAND);
                int iNumero = i;
                ivVignettePano.setOnMouseClicked((e) -> {
                    affichePanoChoisit(iNumero);
                });
                ivVignettePano.setOnMouseDragEntered((e) -> {
                    ivVignettePano.setLayoutX(3);
                    ivVignettePano.setStyle("-fx-border-color : #fff;" + "-fx-border-width : 2px;"
                            + "-fx-border-style :solid;");
                });
                ivVignettePano.setOnMouseDragExited((e) -> {
                    ivVignettePano.setLayoutX(5);
                    ivVignettePano.setStyle("-fx-border-color : rgba(0,0,0,0);" + "-fx-border-width : 0px;"
                            + "-fx-border-style :none;");
                });

                apVignettesPano.getChildren().add(ivVignettePano);

            }
            apVignettesPano.getChildren().add(rectVignettePano);
            getVbChoixPanoramique().setVisible(true);
            ivImagePanoramique.setImage(getPanoramiquesProjet()[getiPanoActuel()].getImgPanoramique());
            ivImagePanoramique.setSmooth(true);
            retireAffichageLigne();
            dejaCharge = false;
            retireAffichageHotSpots();
            retireAffichagePointsHotSpots();
            setiNumPoints(0);
            ajouteAffichageLignes();
            cbListeChoixPanoramique.setValue(cbListeChoixPanoramique.getItems().get(getiPanoActuel()));
            affichePoV(getPanoramiquesProjet()[getiPanoActuel()].getRegardX(),
                    getPanoramiquesProjet()[getiPanoActuel()].getRegardY(),
                    getPanoramiquesProjet()[getiPanoActuel()].getChampVisuel());
            afficheNord(getPanoramiquesProjet()[getiPanoActuel()].getZeroNord());
            installeEvenements();
            ivVisiteGenere.setOpacity(1.0);
            ivVisiteGenere.setDisable(false);
            getGestionnaireInterface().rafraichit();
            affichePanoChoisit(getiPanoActuel());
            bPanoCharge = true;
            cbListeChoixPanoramique.setValue(cbListeChoixPanoramique.getItems().get(getiPanoActuel()));
            getApAttends().setVisible(false);
            mbarPrincipal.setDisable(false);
            bbarPrincipal.setDisable(false);
            hbBarreBouton.setDisable(false);
            tpEnvironnement.setDisable(false);

            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();

        }

    };
}

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @param strLstPano//w  w w  .  j  av a2  s  .c om
 * @param iNumPano
 * @return
 */
public static Pane paneAffichageHS(String strLstPano, int iNumPano) {

    Pane paneHotSpots = new Pane();
    paneHotSpots.setTranslateY(10);
    paneHotSpots.setTranslateX(10);
    VBox vbHotspots = new VBox(5);
    paneHotSpots.getChildren().add(vbHotspots);
    Label lblPoint;
    int io;
    for (io = 0; io < getPanoramiquesProjet()[iNumPano].getNombreHotspots(); io++) {
        Label lblSep = new Label(" ");
        Label lblSep1 = new Label(" ");
        VBox vbPanneauHS = new VBox();
        double deplacement = 0;
        vbPanneauHS.setLayoutX(deplacement);
        Pane paneHsPanoramique = new Pane(vbPanneauHS);
        paneHsPanoramique.setPrefHeight(300);
        paneHsPanoramique.setMinHeight(300);
        paneHsPanoramique.setMaxHeight(300);

        int iNum1 = io;
        Timeline timBouge = new Timeline(new KeyFrame(Duration.millis(500), (ActionEvent event) -> {
            Circle c1 = (Circle) panePanoramique.lookup("#point" + iNum1);
            if (c1 != null) {
                if (c1.getFill() == Color.RED) {
                    c1.setFill(Color.YELLOW);
                    c1.setStroke(Color.RED);
                } else {
                    c1.setFill(Color.RED);
                    c1.setStroke(Color.YELLOW);
                }
            }
        }));
        timBouge.setCycleCount(Timeline.INDEFINITE);
        timBouge.pause();
        paneHsPanoramique.setOnMouseEntered((e) -> {
            timBouge.play();
        });
        paneHsPanoramique.setOnMouseExited((e) -> {
            timBouge.pause();
            Circle c1 = (Circle) panePanoramique.lookup("#point" + iNum1);
            if (c1 != null) {
                c1.setFill(Color.YELLOW);
                c1.setStroke(Color.RED);
            }
        });
        paneHsPanoramique
                .setStyle("-fx-border-color : #777777;-fx-border-width : 1px;-fx-border-radius : 3px;");
        paneHsPanoramique.setId("HS" + io);
        lblPoint = new Label("Point #" + (io + 1));
        lblPoint.setPadding(new Insets(5, 10, 5, 5));
        lblPoint.setTranslateX(-deplacement);
        lblPoint.getStyleClass().add("titreOutil");
        Separator sepHotspots = new Separator(Orientation.HORIZONTAL);
        sepHotspots.setTranslateX(-deplacement);
        sepHotspots.setPrefWidth(321);
        sepHotspots.setTranslateX(2);
        paneHsPanoramique.setPrefWidth(325);
        vbPanneauHS.getChildren().addAll(lblPoint, sepHotspots);
        if (strLstPano != null) {

            Label lblLien = new Label(rbLocalisation.getString("main.panoramiqueDestination"));
            lblLien.setTranslateX(10);
            ComboBox cbDestPano = new ComboBox();
            String[] strListe = strLstPano.split(";");
            cbDestPano.getItems().addAll(Arrays.asList(strListe));
            int iNum11 = getPanoramiquesProjet()[iNumPano].getHotspot(io).getNumeroPano();
            cbDestPano.setTranslateX(10);
            cbDestPano.setId("cbpano" + io);
            cbDestPano.getSelectionModel().select(iNum11);
            cbDestPano.getSelectionModel().selectedIndexProperty().addListener((ov, t, t1) -> {
                valideHS();
                if (dejaCharge) {
                    dejaCharge = false;
                    retireAffichageHotSpots();
                    Pane affHS1 = paneAffichageHS(strListePano(), iNumPano);
                    affHS1.setId("labels");
                    vbVisuHotspots.getChildren().add(affHS1);
                }
            });
            if (iNum11 != -1) {
                int iNumPan = iNum11;
                ImageView ivAfficheVignettePano = new ImageView(
                        getPanoramiquesProjet()[iNum11].getImgPanoRect());
                ivAfficheVignettePano.setPreserveRatio(true);
                ivAfficheVignettePano.setFitWidth(300);
                ivAfficheVignettePano.setLayoutY(10);
                ivAfficheVignettePano.setCursor(Cursor.HAND);
                ivAfficheVignettePano.setOnMouseClicked((e) -> {
                    affichePanoChoisit(iNumPan);
                });
                AnchorPane apVisuVignettePano = new AnchorPane(ivAfficheVignettePano);
                apVisuVignettePano.setPrefHeight(170);
                apVisuVignettePano.setTranslateX(10);
                vbPanneauHS.getChildren().addAll(lblLien, cbDestPano, apVisuVignettePano, lblSep);
            } else {
                vbPanneauHS.getChildren().addAll(lblLien, cbDestPano, lblSep);
            }

        }
        Label lblTexteHS = new Label(rbLocalisation.getString("main.texteHotspot"));
        lblTexteHS.setTranslateX(10);
        TextField tfTexteHS = new TextField();
        if (getPanoramiquesProjet()[iNumPano].getHotspot(io).getStrInfo() != null) {
            tfTexteHS.setText(getPanoramiquesProjet()[iNumPano].getHotspot(io).getStrInfo());
        }
        tfTexteHS.textProperty().addListener((final ObservableValue<? extends String> observable,
                final String oldValue, final String newValue) -> {
            valideHS();
        });

        tfTexteHS.setId("txtHS" + io);
        tfTexteHS.setPrefSize(200, 25);
        tfTexteHS.setMaxSize(200, 20);
        tfTexteHS.setTranslateX(60);
        vbPanneauHS.getChildren().addAll(lblTexteHS, tfTexteHS, lblSep1);
        vbHotspots.getChildren().addAll(paneHsPanoramique, lblSep);
    }
    int iNbHS = io;
    int iTaillePane = io * 325;
    for (io = 0; io < getPanoramiquesProjet()[iNumPano].getNombreHotspotImage(); io++) {
        Label lblSep = new Label(" ");
        Label lblSep1 = new Label(" ");
        VBox vbPanneauHsImage = new VBox();
        Pane paneHsImage = new Pane(vbPanneauHsImage);
        int iNum = io;
        Timeline timBouge = new Timeline(new KeyFrame(Duration.millis(500), (ActionEvent event) -> {
            Circle c1 = (Circle) panePanoramique.lookup("#img" + iNum);
            if (c1 != null) {
                if (c1.getFill() == Color.BLUE) {
                    c1.setFill(Color.YELLOW);
                    c1.setStroke(Color.BLUE);
                } else {
                    c1.setFill(Color.BLUE);
                    c1.setStroke(Color.YELLOW);
                }
            }
        }));
        timBouge.setCycleCount(Timeline.INDEFINITE);
        timBouge.pause();
        paneHsImage.setOnMouseEntered((e) -> {
            timBouge.play();
        });
        paneHsImage.setOnMouseExited((e) -> {
            Circle c1 = (Circle) panePanoramique.lookup("#img" + iNum);
            if (c1 != null) {

                c1.setFill(Color.BLUE);
                c1.setStroke(Color.YELLOW);
            }
            timBouge.pause();
        });
        paneHsImage.setStyle("-fx-border-color : #777777;-fx-border-width : 1px;-fx-border-radius : 3px;");
        paneHsImage.setId("HSImg" + io);
        lblPoint = new Label("Image #" + (io + 1));
        lblPoint.setPadding(new Insets(5, 10, 5, 5));
        lblPoint.getStyleClass().add("titreOutil");
        Separator sepHS = new Separator(Orientation.HORIZONTAL);
        sepHS.setPrefWidth(321);
        sepHS.setTranslateX(2);

        paneHsImage.setPrefWidth(325);
        vbPanneauHsImage.getChildren().addAll(lblPoint, sepHS);
        Label lblLien = new Label(rbLocalisation.getString("main.imageChoisie"));
        lblLien.setTranslateX(10);

        String strF1XML = getPanoramiquesProjet()[iNumPano].getHotspotImage(io).getStrLienImg();
        Image imgChoisie = new Image(
                "file:" + getStrRepertTemp() + File.separator + "images" + File.separator + strF1XML);
        ImageView ivChoisie = new ImageView(imgChoisie);
        ivChoisie.setTranslateX(100);
        ivChoisie.setFitWidth(100);
        ivChoisie.setFitHeight(imgChoisie.getHeight() / imgChoisie.getWidth() * 100);

        vbPanneauHsImage.getChildren().addAll(lblLien, ivChoisie, lblSep);
        Label lblTexteHS = new Label(rbLocalisation.getString("main.texteHotspot"));
        lblTexteHS.setTranslateX(10);

        TextField tfTexteHS = new TextField();
        if (getPanoramiquesProjet()[iNumPano].getHotspotImage(io).getStrInfo() != null) {
            tfTexteHS.setText(getPanoramiquesProjet()[iNumPano].getHotspotImage(io).getStrInfo());
        }
        tfTexteHS.textProperty().addListener((final ObservableValue<? extends String> observable,
                final String oldValue, final String newValue) -> {
            valideHS();
        });

        tfTexteHS.setId("txtHSImage" + io);
        tfTexteHS.setPrefSize(200, 25);
        tfTexteHS.setMaxSize(200, 20);
        tfTexteHS.setTranslateX(60);
        vbPanneauHsImage.getChildren().addAll(lblTexteHS, tfTexteHS, lblSep1);
        Label lblCoulFond = new Label(rbLocalisation.getString("diapo.couleurFond"));
        lblCoulFond.setTranslateX(10);
        Label lblOpacite = new Label(rbLocalisation.getString("diapo.opacite"));
        lblOpacite.setTranslateX(10);
        if (getPanoramiquesProjet()[iNumPano].getHotspotImage(io).getStrCouleurFond().equals("")) {
            getPanoramiquesProjet()[iNumPano].getHotspotImage(io).setStrCouleurFond(
                    "#" + getGestionnaireInterface().getCouleurFondTheme().toString().substring(2, 8));
        }
        ColorPicker cpCouleurFond = new ColorPicker(
                Color.valueOf(getPanoramiquesProjet()[iNumPano].getHotspotImage(io).getStrCouleurFond()));
        if (getPanoramiquesProjet()[iNumPano].getHotspotImage(io).getOpacite() == -1) {
            getPanoramiquesProjet()[iNumPano].getHotspotImage(io)
                    .setOpacite(getGestionnaireInterface().getOpaciteTheme());
        }
        cpCouleurFond.setTranslateX(100);
        int i = io;
        cpCouleurFond.valueProperty().addListener((ov, av, nv) -> {
            if (getiNombrePanoramiques() != 0) {
                setbDejaSauve(false);
                getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
            }
            getPanoramiquesProjet()[iNumPano].getHotspotImage(i)
                    .setStrCouleurFond("#" + cpCouleurFond.getValue().toString().substring(2, 8));
        });
        Slider slOpacite = new Slider(0, 1, getPanoramiquesProjet()[iNumPano].getHotspotImage(io).getOpacite());
        slOpacite.valueProperty().addListener((ov, av, nv) -> {
            if (getiNombrePanoramiques() != 0) {
                setbDejaSauve(false);
                getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *");
            }
            getPanoramiquesProjet()[iNumPano].getHotspotImage(i).setOpacite(slOpacite.getValue());
        });
        slOpacite.setTranslateX(100);
        slOpacite.setPrefWidth(130);
        slOpacite.setMinWidth(130);
        slOpacite.setMaxWidth(130);
        vbPanneauHsImage.getChildren().addAll(lblCoulFond, cpCouleurFond, lblOpacite, slOpacite);

        vbHotspots.getChildren().addAll(paneHsImage, lblSep);
        iTaillePane += 225 + ivChoisie.getFitHeight();
        paneHsImage.setPrefHeight(200 + ivChoisie.getFitHeight());
        paneHsImage.setMinHeight(200 + ivChoisie.getFitHeight());
        paneHsImage.setMaxHeight(200 + ivChoisie.getFitHeight());
    }

    iNbHS += io;

    for (io = 0; io < getPanoramiquesProjet()[iNumPano].getNombreHotspotHTML(); io++) {
        Label lblSep = new Label(" ");
        int iNum = io;
        VBox vbPanneauHS = new VBox();
        Pane paneHsHtml = new Pane(vbPanneauHS);
        Timeline timBouge = new Timeline(new KeyFrame(Duration.millis(500), (ActionEvent event) -> {
            Circle c1 = (Circle) panePanoramique.lookup("#html" + iNum);
            if (c1 != null) {

                if (c1.getFill() == Color.DARKGREEN) {
                    c1.setFill(Color.YELLOWGREEN);
                    c1.setStroke(Color.DARKGREEN);
                } else {
                    c1.setFill(Color.DARKGREEN);
                    c1.setStroke(Color.YELLOWGREEN);
                }
            }
        }));
        timBouge.setCycleCount(Timeline.INDEFINITE);
        timBouge.pause();
        paneHsHtml.setOnMouseEntered((e) -> {
            timBouge.play();
        });
        paneHsHtml.setOnMouseExited((e) -> {
            timBouge.pause();
            Circle c1 = (Circle) panePanoramique.lookup("#html" + iNum);
            if (c1 != null) {
                c1.setFill(Color.DARKGREEN);
                c1.setStroke(Color.YELLOWGREEN);
            }
        });
        paneHsHtml.setStyle("-fx-border-color : #777777;-fx-border-width : 1px;-fx-border-radius : 3px;");
        paneHsHtml.setId("HSHTML" + io);
        lblPoint = new Label("Hotspot HTML #" + (io + 1));
        lblPoint.setPadding(new Insets(5, 10, 5, 5));
        lblPoint.getStyleClass().add("titreOutil");
        Separator sepHS = new Separator(Orientation.HORIZONTAL);
        sepHS.setPrefWidth(321);
        sepHS.setTranslateX(2);
        paneHsHtml.setPrefWidth(325);
        Label lblTexteHS = new Label(rbLocalisation.getString("main.texteHotspot"));
        lblTexteHS.setTranslateX(10);
        TextField tfTexteHS = new TextField();
        if (getPanoramiquesProjet()[iNumPano].getHotspotHTML(io).getStrInfo() != null) {
            tfTexteHS.setText(getPanoramiquesProjet()[iNumPano].getHotspotHTML(io).getStrInfo());
        }
        tfTexteHS.textProperty().addListener((final ObservableValue<? extends String> observable,
                final String oldValue, final String newValue) -> {
            valideHS();
        });

        tfTexteHS.setId("txtHSHTML" + io);
        tfTexteHS.setPrefSize(200, 25);
        tfTexteHS.setMaxSize(200, 20);
        tfTexteHS.setTranslateX(60);
        vbPanneauHS.getChildren().addAll(lblPoint, sepHS, lblTexteHS, tfTexteHS);
        Button btnEditeHSHTML = new Button(rbLocalisation.getString("main.editeHTML"));
        btnEditeHSHTML.setPrefWidth(80);
        btnEditeHSHTML.setTranslateX(paneHsHtml.getPrefWidth() - btnEditeHSHTML.getPrefWidth() - 10);
        vbPanneauHS.getChildren().addAll(btnEditeHSHTML);
        btnEditeHSHTML.setOnAction((e) -> {
            EditeurHTML editHTML = new EditeurHTML();
            HotspotHTML HS = getPanoramiquesProjet()[iNumPano].getHotspotHTML(iNum);
            editHTML.setHsHTML(HS);
            Rectangle2D tailleEcran = Screen.getPrimary().getBounds();
            int iHauteur = (int) tailleEcran.getHeight() - 100;
            int iLargeur = (int) tailleEcran.getWidth() - 100;
            editHTML.affiche(iLargeur, iHauteur);
            editHTML.addPropertyChangeListener("bValide", (ev) -> {
                if (ev.getNewValue().toString().equals("true")) {
                    getPanoramiquesProjet()[iNumPano].setHotspotHTML(editHTML.getHsHTML(), iNum);
                    dejaCharge = false;
                    retireAffichageHotSpots();
                    Pane affHS1 = paneAffichageHS(strListePano(), iNumPano);
                    affHS1.setId("labels");
                    vbVisuHotspots.getChildren().add(affHS1);
                }
            });

        });

        vbHotspots.getChildren().addAll(paneHsHtml, lblSep);
        paneHsHtml.setPrefHeight(120);
        paneHsHtml.setMinHeight(120);
        paneHsHtml.setMaxHeight(120);
        iTaillePane += 145;
    }
    iNbHS += io;
    for (io = 0; io < getPanoramiquesProjet()[iNumPano].getiNombreHotspotDiapo(); io++) {
        Label lblSep = new Label(" ");
        int iNum = io;
        VBox vbPanneauHS = new VBox();
        Pane paneHsDiapo = new Pane(vbPanneauHS);
        Timeline timBouge = new Timeline(new KeyFrame(Duration.millis(500), (ActionEvent event) -> {
            Circle c1 = (Circle) panePanoramique.lookup("#dia" + iNum);
            if (c1 != null) {

                if (c1.getFill() == Color.TURQUOISE) {
                    c1.setFill(Color.ORANGE);
                    c1.setStroke(Color.TURQUOISE);
                } else {
                    c1.setFill(Color.TURQUOISE);
                    c1.setStroke(Color.ORANGE);
                }
            }
        }));
        timBouge.setCycleCount(Timeline.INDEFINITE);
        timBouge.pause();
        paneHsDiapo.setOnMouseEntered((e) -> {
            timBouge.play();
        });
        paneHsDiapo.setOnMouseExited((e) -> {
            timBouge.pause();
            Circle c1 = (Circle) panePanoramique.lookup("#html" + iNum);
            if (c1 != null) {
                c1.setFill(Color.TURQUOISE);
                c1.setStroke(Color.ORANGE);
            }
        });
        paneHsDiapo.setStyle("-fx-border-color : #777777;-fx-border-width : 1px;-fx-border-radius : 3px;");
        paneHsDiapo.setId("DIAPO" + io);
        lblPoint = new Label("Hotspot Diaporama #" + (io + 1));
        lblPoint.setPadding(new Insets(5, 10, 5, 5));
        lblPoint.getStyleClass().add("titreOutil");
        Separator sepHS = new Separator(Orientation.HORIZONTAL);
        sepHS.setPrefWidth(321);
        sepHS.setTranslateX(2);
        paneHsDiapo.setPrefWidth(325);
        Label lblTexteHS = new Label(rbLocalisation.getString("main.texteHotspot"));
        lblTexteHS.setTranslateX(10);
        TextField tfTexteHS = new TextField();
        if (getPanoramiquesProjet()[iNumPano].getHotspotDiapo(io).getStrInfo() != null) {
            tfTexteHS.setText(getPanoramiquesProjet()[iNumPano].getHotspotDiapo(io).getStrInfo());
        }
        tfTexteHS.textProperty().addListener((final ObservableValue<? extends String> observable,
                final String oldValue, final String newValue) -> {
            valideHS();
        });

        tfTexteHS.setId("txtDIA" + io);
        tfTexteHS.setPrefSize(200, 25);
        tfTexteHS.setMaxSize(200, 20);
        tfTexteHS.setTranslateX(60);
        vbPanneauHS.getChildren().addAll(lblPoint, sepHS, lblTexteHS, tfTexteHS);
        ComboBox cbListeDiapo = new ComboBox();
        for (int i = 0; i < getiNombreDiapo(); i++) {
            cbListeDiapo.getItems().add(diaporamas[i].getStrNomDiaporama());
        }
        cbListeDiapo.getSelectionModel()
                .select(getPanoramiquesProjet()[iNumPano].getHotspotDiapo(io).getiNumDiapo());
        int iii = io;
        cbListeDiapo.getSelectionModel().selectedIndexProperty().addListener((ov, av, nv) -> {
            getPanoramiquesProjet()[iNumPano].getHotspotDiapo(iii).setiNumDiapo((int) nv);
        });
        cbListeDiapo.setTranslateX(60);
        vbPanneauHS.getChildren().addAll(cbListeDiapo);
        //Ajouter Liste Diaporamas
        vbHotspots.getChildren().addAll(paneHsDiapo, lblSep);
        paneHsDiapo.setPrefHeight(120);
        paneHsDiapo.setMinHeight(120);
        paneHsDiapo.setMaxHeight(120);
        iTaillePane += 145;
    }
    valideHS();
    iNbHS += io;
    dejaCharge = true;
    paneHotSpots.setPrefHeight(iTaillePane);
    paneHotSpots.setMinHeight(iTaillePane);
    paneHotSpots.setMaxHeight(iTaillePane);
    paneHotSpots.setId("labels");
    apVisuHS.setPrefHeight(paneHotSpots.getPrefHeight());
    apVisuHS.setMinHeight(paneHotSpots.getPrefHeight());
    apVisuHS.setMaxHeight(paneHotSpots.getPrefHeight());
    vbVisuHotspots.setPrefHeight(paneHotSpots.getPrefHeight());
    vbVisuHotspots.setMinHeight(paneHotSpots.getPrefHeight());
    vbVisuHotspots.setMaxHeight(paneHotSpots.getPrefHeight());

    return paneHotSpots;
}