Example usage for javafx.stage FileChooser showOpenDialog

List of usage examples for javafx.stage FileChooser showOpenDialog

Introduction

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

Prototype

public File showOpenDialog(final Window ownerWindow) 

Source Link

Document

Shows a new file open dialog.

Usage

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @throws IOException/* ww  w.  j a  v a  2 s  .  c om*/
 * @throws InterruptedException
 */
private void projetCharge() throws IOException, InterruptedException {
    paneAttends.setVisible(true);
    while (!paneAttends.isVisible()) {

    }
    if (!repertSauveChoisi) {
        repertoireProjet = currentDir;
    }
    Action reponse = null;
    Localization.setLocale(locale);
    if (!dejaSauve) {
        reponse = Dialogs.create().owner(null).title("Charge un Projet")
                .masthead("Vous n'avez pas sauvegard votre projet").message("Voulez vous le sauver ?")
                .showConfirm();

    }
    if (reponse == Dialog.Actions.YES) {
        try {
            projetSauve();

        } catch (IOException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    if ((reponse == Dialog.Actions.YES) || (reponse == Dialog.Actions.NO) || (reponse == null)) {
        Thread.sleep(100);
        dejaSauve = true;
        FileChooser repertChoix = new FileChooser();
        FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("fichier panoVisu (*.pvu)",
                "*.pvu");
        repertChoix.getExtensionFilters().add(extFilter);
        File repert = new File(repertoireProjet + File.separator);
        repertChoix.setInitialDirectory(repert);
        fichProjet = null;
        fichProjet = repertChoix.showOpenDialog(stPrincipal);
        if (fichProjet != null) {
            stPrincipal.setTitle("Panovisu v" + numVersion + " : " + fichProjet.getAbsolutePath());
            lblDragDrop.setVisible(false);
            repertoireProjet = fichProjet.getParent();
            ajouteFichierHisto(fichProjet.getAbsolutePath());
            repertSauveChoisi = true;
            deleteDirectory(repertTemp);
            String repertPanovisu = repertTemp + File.separator + "panovisu";
            File rptPanovisu = new File(repertPanovisu);
            rptPanovisu.mkdirs();
            copieDirectory(repertAppli + File.separator + "panovisu", repertPanovisu);
            menuPanoramique.setDisable(false);
            imgAjouterPano.setDisable(false);
            imgAjouterPano.setOpacity(1.0);
            imgSauveProjet.setDisable(false);
            imgSauveProjet.setOpacity(1.0);
            imgVisiteGenere.setDisable(false);
            imgVisiteGenere.setOpacity(1.0);

            paneChoixPanoramique.setVisible(false);

            sauveProjet.setDisable(false);
            sauveSousProjet.setDisable(false);
            visiteGenere.setDisable(false);
            numPoints = 0;
            numImages = 0;
            numHTML = 0;
            imagePanoramique.setImage(null);
            listeChoixPanoramique.getItems().clear();
            listeChoixPanoramiqueEntree.getItems().clear();
            FileReader fr;
            try {
                fr = new FileReader(fichProjet);
                String texte;
                try (BufferedReader br = new BufferedReader(fr)) {
                    texte = "";
                    String ligneTexte;
                    while ((ligneTexte = br.readLine()) != null) {
                        texte += ligneTexte + "\n";
                    }
                }
                try {
                    analyseLigne(texte);
                } catch (ImageReadException ex) {
                    Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
                }

                panoActuel = 0;
                affichePanoChoisit(panoActuel);
                panoCharge = true;
                paneChoixPanoramique.setVisible(true);
                listeChoixPanoramique.setValue(listeChoixPanoramique.getItems().get(0));

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

        }
    }
    paneAttends.setVisible(false);
}

From source file:editeurpanovisu.EditeurPanovisu.java

private void panoAjouteImage(double X, double Y) {
    if (X > 0 && X < imagePanoramique.getFitWidth()) {

        valideHS();//from w ww .ja v a2  s  . com
        dejaSauve = false;
        stPrincipal.setTitle(stPrincipal.getTitle().replace(" *", "") + " *");
        double mouseX = X;
        double mouseY = Y - pano.getLayoutY() - 115;
        double longitude, latitude;
        double largeur = imagePanoramique.getFitWidth();
        String chLong, chLat;
        longitude = 360.0f * mouseX / largeur - 180;
        latitude = 90.0d - 2.0f * mouseY / largeur * 180.0f;
        Circle point = new Circle(mouseX, mouseY, 5);
        point.setFill(Color.BLUE);
        point.setStroke(Color.YELLOW);
        point.setId("img" + numImages);
        point.setCursor(Cursor.DEFAULT);
        pano.getChildren().add(point);
        Tooltip t = new Tooltip("image n " + (numImages + 1));
        t.setStyle(tooltipStyle);
        Tooltip.install(point, t);

        //
        File repert;
        if (repertHSImages.equals("")) {
            repert = new File(currentDir + File.separator);
        } else {
            repert = new File(repertHSImages);
        }
        FileChooser fileChooser = new FileChooser();
        FileChooser.ExtensionFilter extFilterImages = new FileChooser.ExtensionFilter(
                "Fichiers Images (jpg, bmp, png)", "*.jpg", "*.bmp", "*.png");

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

        File fichierImage = fileChooser.showOpenDialog(null);
        if (fichierImage != null) {
            repertHSImages = fichierImage.getParent();
            numImages++;
            HotspotImage HS = new HotspotImage();
            HS.setLongitude(longitude);
            HS.setLatitude(latitude);
            HS.setUrlImage(fichierImage.getAbsolutePath());
            HS.setLienImg(fichierImage.getName());
            HS.setInfo(fichierImage.getName().split("\\.")[0]);
            File repertImage = new File(repertTemp + File.separator + "images");
            if (!repertImage.exists()) {
                repertImage.mkdirs();
            }
            try {
                copieFichierRepertoire(fichierImage.getAbsolutePath(), repertImage.getAbsolutePath());
            } catch (IOException ex) {
                Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
            }
            panoramiquesProjet[panoActuel].addHotspotImage(HS);
            retireAffichageHotSpots();
            Pane affHS1 = affichageHS(listePano(panoActuel), panoActuel);
            affHS1.setId("labels");
            outils.getChildren().add(affHS1);

        } else {
            String chPoint = point.getId();
            chPoint = chPoint.substring(3, chPoint.length());
            Node pt = (Node) pano.lookup("#img" + chPoint);
            pano.getChildren().remove(pt);
        }
        valideHS();
        point.setOnDragDetected((MouseEvent me1) -> {
            point.setFill(Color.YELLOW);
            point.setStroke(Color.BLUE);
            dragDrop = true;
            me1.consume();

        });
        point.setOnMouseDragged((MouseEvent me1) -> {
            double XX = me1.getX() - imagePanoramique.getLayoutX();
            if (XX < 0) {
                XX = 0;
            }
            if (XX > imagePanoramique.getFitWidth()) {
                XX = imagePanoramique.getFitWidth();
            }
            point.setCenterX(XX + imagePanoramique.getLayoutX());
            double YY = me1.getY();
            if (YY < 0) {
                YY = 0;
            }
            if (YY > imagePanoramique.getFitHeight()) {
                YY = imagePanoramique.getFitHeight();
            }
            point.setCenterY(YY);

            me1.consume();

        });
        point.setOnMouseReleased((MouseEvent me1) -> {
            String chPoint = point.getId();
            chPoint = chPoint.substring(3, chPoint.length());
            int numeroPoint = Integer.parseInt(chPoint);
            double X1 = me1.getSceneX();
            double Y1 = me1.getSceneY();
            double mouseX1 = X1 - imagePanoramique.getLayoutX();
            if (mouseX1 < 0) {
                mouseX1 = 0;
            }
            if (mouseX1 > imagePanoramique.getFitWidth()) {
                mouseX1 = imagePanoramique.getFitWidth();
            }

            double mouseY1 = Y1 - pano.getLayoutY() - 109;
            if (mouseY1 < 0) {
                mouseY1 = 0;
            }
            if (mouseY1 > imagePanoramique.getFitHeight()) {
                mouseY1 = imagePanoramique.getFitHeight();
            }

            double longit, lat;
            double larg = imagePanoramique.getFitWidth();
            longit = 360.0f * mouseX1 / larg - 180;
            lat = 90.0d - 2.0f * mouseY1 / larg * 180.0f;
            panoramiquesProjet[panoActuel].getHotspotImage(numeroPoint).setLatitude(lat);
            panoramiquesProjet[panoActuel].getHotspotImage(numeroPoint).setLongitude(longit);
            point.setFill(Color.BLUE);
            point.setStroke(Color.YELLOW);
            me1.consume();

        });

        point.setOnMouseClicked((MouseEvent me1) -> {
            if (me1.isControlDown()) {
                dejaSauve = false;
                stPrincipal.setTitle(stPrincipal.getTitle().replace(" *", "") + " *");
                String chPoint = point.getId();
                chPoint = chPoint.substring(3, chPoint.length());
                int numeroPoint = Integer.parseInt(chPoint);
                Node pt;
                pt = (Node) pano.lookup("#img" + chPoint);
                pano.getChildren().remove(pt);

                for (int o = numeroPoint + 1; o < numImages; o++) {
                    pt = (Node) pano.lookup("#img" + Integer.toString(o));
                    pt.setId("img" + Integer.toString(o - 1));
                }
                /**
                 * on retire les anciennes indication de HS
                 */
                retireAffichageHotSpots();
                numImages--;
                panoramiquesProjet[panoActuel].removeHotspotImage(numeroPoint);
                /**
                 * On les cre les nouvelles
                 */
                ajouteAffichageHotspots();
            }
            valideHS();
            me1.consume();
        });

    }
}

From source file:editeurpanovisu.EditeurPanovisu.java

private void planAjouter() {
    FileChooser fileChooser = new FileChooser();

    FileChooser.ExtensionFilter extFilterJpeg = new FileChooser.ExtensionFilter("Fichiers JPEG (*.jpg)",
            "*.jpg");
    FileChooser.ExtensionFilter extFilterBmp = new FileChooser.ExtensionFilter("Fichiers BMP (*.bmp)", "*.bmp");
    FileChooser.ExtensionFilter extFilterPng = new FileChooser.ExtensionFilter("Fichiers PNG (*.png)", "*.png");
    File repert = new File(currentDir + File.separator);
    fileChooser.setInitialDirectory(repert);
    fileChooser.getExtensionFilters().addAll(extFilterJpeg, extFilterPng, extFilterBmp);

    File fichierPlan = fileChooser.showOpenDialog(null);
    if (fichierPlan != null) {
        plans[nombrePlans] = new Plan();
        plans[nombrePlans].setImagePlan(fichierPlan.getName());
        plans[nombrePlans].setLienPlan(fichierPlan.getAbsolutePath());
        File repertoirePlan = new File(repertTemp + File.separator + "images");
        if (!repertoirePlan.exists()) {
            repertoirePlan.mkdirs();/*ww  w .j a  va2 s  .  c o m*/
        }
        try {
            copieFichierRepertoire(fichierPlan.getAbsolutePath(), repertoirePlan.getAbsolutePath());
        } catch (IOException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
        gestionnairePlan.ajouterPlan();
        nombrePlans++;
    }

}

From source file:editeurpanovisu.EditeurPanovisu.java

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

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

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

    }

}

From source file:editeurpanovisu.EditeurPanovisu.java

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

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

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

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

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

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

        }
    }

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

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

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

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

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

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

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

}

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @throws IOException Exception d'entre sortie
 * @throws InterruptedException Exception interruption
 *///from w  w  w.  j  av  a2 s  . co  m
private static void projetCharge() throws IOException, InterruptedException {
    if (!bRepertSauveChoisi) {
        setStrRepertoireProjet(getStrCurrentDir());
    }
    ButtonType reponse = null;
    ButtonType buttonTypeOui = new ButtonType(rbLocalisation.getString("main.oui"));
    ButtonType buttonTypeNon = new ButtonType(rbLocalisation.getString("main.non"));
    ButtonType buttonTypeAnnule = new ButtonType(rbLocalisation.getString("main.annuler"));
    if (!isbDejaSauve()) {
        Alert alert = new Alert(AlertType.CONFIRMATION);
        alert.setHeaderText(null);
        alert.setTitle(rbLocalisation.getString("main.dialog.chargeProjet"));
        alert.setContentText(rbLocalisation.getString("main.dialog.chargeProjetMessage"));
        alert.getButtonTypes().clear();
        alert.getButtonTypes().setAll(buttonTypeOui, buttonTypeNon, buttonTypeAnnule);
        Optional<ButtonType> actReponse = alert.showAndWait();
        reponse = actReponse.get();
    }
    if (reponse == buttonTypeOui) {
        try {
            projetSauve();

        } catch (IOException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    if ((reponse == buttonTypeOui) || (reponse == buttonTypeNon) || (reponse == null)) {
        panePanoramique.getChildren().clear();
        panePanoramique.getChildren().add(ivImagePanoramique);
        getApAttends().setVisible(true);
        mbarPrincipal.setDisable(true);
        bbarPrincipal.setDisable(true);
        hbBarreBouton.setDisable(true);
        tpEnvironnement.setDisable(true);
        setbDejaSauve(true);
        FileChooser fcRepertChoix = new FileChooser();
        FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("fichier panoVisu (*.pvu)",
                "*.pvu");
        fcRepertChoix.getExtensionFilters().add(extFilter);
        File fileRepert = new File(getStrRepertoireProjet() + File.separator);
        fcRepertChoix.setInitialDirectory(fileRepert);
        fileProjet = null;
        fileProjet = fcRepertChoix.showOpenDialog(getStPrincipal());
        if (fileProjet != null) {
            getStPrincipal().setTitle(
                    "Panovisu v" + strNumVersion.split("-")[0] + " : " + fileProjet.getAbsolutePath());
            lblDragDrop.setVisible(false);
            setStrRepertoireProjet(fileProjet.getParent());
            ajouteFichierHisto(fileProjet.getAbsolutePath());
            bRepertSauveChoisi = true;
            deleteDirectory(getStrRepertTemp());
            String strRepertPanovisu = getStrRepertTemp() + File.separator + "panovisu";
            File fileRptPanovisu = new File(strRepertPanovisu);
            fileRptPanovisu.mkdirs();
            copieRepertoire(getStrRepertAppli() + File.separator + "panovisu", strRepertPanovisu);
            mnuPanoramique.setDisable(false);
            btnMnuPanoramique.setDisable(false);
            ivAjouterPano.setDisable(false);
            ivAjouterPano.setOpacity(1.0);
            ivSauveProjet.setDisable(false);
            ivSauveProjet.setOpacity(1.0);
            ivVisiteGenere.setDisable(false);
            ivVisiteGenere.setOpacity(1.0);

            getVbChoixPanoramique().setVisible(false);

            mniSauveProjet.setDisable(false);
            mniSauveSousProjet.setDisable(false);
            mniVisiteGenere.setDisable(false);
            setiNumPoints(0);
            setiNumImages(0);
            setiNombreDiapo(0);
            diaporamas = new Diaporama[100];
            setiNumHTML(0);
            ivImagePanoramique.setImage(null);
            cbListeChoixPanoramique.getItems().clear();
            try {
                String strTexte;
                try (BufferedReader brFichierPVU = new BufferedReader(
                        new InputStreamReader(new FileInputStream(fileProjet), "UTF-8"))) {
                    strTexte = "";
                    String strLigneTexte;
                    setiNombrePanoramiquesFichier(0);
                    while ((strLigneTexte = brFichierPVU.readLine()) != null) {
                        if (strLigneTexte.contains("Panoramique=>")) {
                            setiNombrePanoramiquesFichier(getiNombrePanoramiquesFichier() + 1);
                        }
                        strTexte += strLigneTexte + "\n";
                    }
                }
                Task taskAnalysePVU;
                taskAnalysePVU = tskAnalyseFichierPVU(strTexte);
                Thread thrAnalysePVU = new Thread(taskAnalysePVU);
                thrAnalysePVU.setDaemon(true);
                thrAnalysePVU.start();

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

        }
    }
}

From source file:editeurpanovisu.EditeurPanovisu.java

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

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

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

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

    });

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

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

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

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

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

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

    });
}

From source file:editeurpanovisu.EditeurPanovisu.java

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

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

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

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

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

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

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

            mouseEvent1.consume();

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

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

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

        });

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

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

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

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

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

    }
}

From source file:org.simmi.GeneSetHead.java

License:asdf

private void importStuff() throws IOException, UnavailableServiceException {
    boolean fail = true;
    /*try {/*  ww  w.java  2  s.com*/
       FileOpenService fos = (FileOpenService)ServiceManager.lookup("javax.jnlp.FileOpenService");
       FileContents fc = fos.openFileDialog(null, null);
       is = fc.getInputStream();
    } catch( Exception e ) {
       fail = true;
    }*/

    Path zipp = null;
    if (fail && zipp == null) {
        FileChooser fc = new FileChooser();
        File f = fc.showOpenDialog(app.getOwner());
        if (f != null)
            zipp = f.toPath();
    }

    //if( is != null ) {
    /*ByteArrayOutputStream baos = new ByteArrayOutputStream();
    byte[] bab = new byte[1024];
    int rd = is.read( bab );
    while( rd > 0 ) {
       baos.write(bab, 0, rd);
       rd = is.read( bab );
    }
    baos.close();
    zipf = baos.toByteArray();*/

    /*ZipInputStream zipm = new ZipInputStream( new ByteArrayInputStream( zipf ) );
    ZipEntry ze = zipm.getNextEntry();
    while( ze != null ) {
       String zname = ze.getName();
       if( zname.equals("unresolved.blastout") ) {
    unresolvedmap = loadunresolvedmap( new InputStreamReader( zipm ) );
       } else if( zname.equals("namemap.txt") ) {
    namemap = loadnamemap( new InputStreamReader( zipm ) );
       } else if( ze.getName().equals("designations.txt") ) {
    designations = loadDesignations( new InputStreamReader(zipm), deset );
       } else if( ze.getName().equals("plasmids.txt") ) {
    plasmids = loadPlasmids( new InputStreamReader(zipm) );
       }
       ze = zipm.getNextEntry();
    }
    if( designations == null ) designations = new TreeMap<String,String>();
    //List<Set<String>> uclusterlist = null;*/

    if (zipp != null) {
        geneset.loadStuff(zipp);

        //syncolorcomb = new JComboBox();
        syncolorcomb.getItems().clear();
        syncolorcomb.getItems().add("");
        for (String spec : geneset.speccontigMap.keySet()) {
            syncolorcomb.getItems().add(spec);
        }
        syncolorcomb.getItems().add("All");

        /*
         * is = GeneSet.class.getResourceAsStream(""); Map<String,String> komap
         * = koMapping( new FileReader("/home/sigmar/asgard-bio/data/ko"),
         * funclist, genelist ); for( Function f : funclist ) { if(
         * komap.containsKey( f.ec ) ) { for( String gn : f.geneentries ) { Gene
         * g = refmap.get(gn); if( g.keggid == null ) g.keggid =
         * komap.get(f.ec); } } }
         */

        geneset.updateShareNum(geneset.specList);

        Set<String> allecs = new HashSet<>();
        for (Function f : geneset.funclist) {
            if (f.getEc() != null)
                allecs.add(f.getEc());
        }

        for (String val : geneset.pathwaymap.keySet()) {
            Set<String> set = geneset.pathwaymap.get(val);
            for (String s : set) {
                if (allecs.contains(s)) {
                    combo.getItems().add(val);
                    break;
                }
            }
        }

        Set<String> set = new TreeSet<>();
        for (Gene g : geneset.genelist) {
            Tegeval tv = g.tegeval;
            if (tv.eval <= 0.00001 && tv.teg != null && tv.teg.startsWith("[") && tv.teg.endsWith("]"))
                set.add(tv.teg);
        }

        for (String sp : set) {
            specombo.getItems().add(sp);
        }

        if (geneset.uclusterlist != null)
            geneset.clusterMap = Serifier.initClusterNew(geneset.uclusterlist, null, null);
        //table.tableChanged( new TableModelEvent( table.getModel() ) );
        //ftable.tableChanged( new TableModelEvent( ftable.getModel() ) );
        //table.setModel( nullmodel );
        //ftable.setModel( nullmodel );
        //table.setModel( groupModel );
        //ftable.setModel( ftablemodel );
        //ftable.setItems( geneset.f);

        for (String spec : geneset.specList) {
            TableColumn<GeneGroup, Teginfo> speccol = new TableColumn(spec);
            //speccol.getStyleClass().add("tabstyle");
            speccol.setCellFactory(cell -> {
                final TableCell<GeneGroup, Teginfo> tc = new TableCell<GeneGroup, Teginfo>() {
                    @Override
                    protected void updateItem(Teginfo item, boolean empty) {
                        super.updateItem(item, empty);

                        if (item == null || item.toString().length() == 0 || empty) {
                            setText(null);
                            setStyle("");
                            //getStyleClass().remove("tabcellstyle");
                        } else {
                            setText(item.toString());
                            cellRender(this, item, 0);
                            //getStyleClass().add("tabcellstyle");
                            /*if( (this.getTableRow() != null && getTableRow().isSelected()) || isSelected() ) {
                               //setTextFill( javafx.scene.paint.Color.WHITE );
                               setStyle("-fx-background-color: darkgreen");
                            } else {
                               //setTextFill( javafx.scene.paint.Color.BLACK );
                               setStyle("-fx-background-color: green");
                            }*/
                        }
                    }
                };
                return tc;
            });
            speccol.setCellValueFactory(cellValue -> {
                GeneGroup gg = cellValue.getValue();
                Teginfo tes = gg.getTes(spec);
                return new ReadOnlyObjectWrapper(tes);
                //return new SimpleStringProperty( tes != null ? tes.toString() : "" );
                //Teginfo ret = geneset.getGroupTes( cellValue.getValue(), spec );
                //return new ObservableValue<String>( ret.toString() );
                //return ret;
            });
            table.getColumns().add(speccol);

            TableColumn<Gene, Teg> gspeccol = new TableColumn(spec);
            gspeccol.setComparator((o1, o2) -> {
                if (o1 == null) {
                    if (o2 == null) {
                        return 0;
                    } else
                        return -1;
                } else if (o1 instanceof Tegeval) {
                    if (o2 == null || o2 instanceof Teginfo) {
                        return 1;
                    }
                } else {
                    if (o2 == null) {
                        return 1;
                    } else if (o2 instanceof Tegeval) {
                        return -1;
                    }
                }
                return o1.compareTo(o2);
            });
            gspeccol.setCellFactory(cell -> {
                final TableCell<Gene, Teg> tc = new TableCell<Gene, Teg>() {
                    @Override
                    protected void updateItem(Teg item, boolean empty) {
                        super.updateItem(item, empty);

                        if (item == null || item.toString().length() == 0 || empty) {
                            setText("");
                            setStyle("");
                        } else {
                            boolean render = cellRenderGene(this, item);
                            setText(item.toString());
                            if (!render)
                                setStyle("");
                            //getStyleClass().add("tabcellstyle");
                            /*if( (this.getTableRow() != null && getTableRow().isSelected()) || isSelected() ) {
                               //setTextFill( javafx.scene.paint.Color.WHITE );
                               setStyle("-fx-background-color: white");
                            } else {
                               //setTextFill( javafx.scene.paint.Color.BLACK );
                               setStyle("-fx-background-color: black");
                            }*/
                        }
                    }
                };
                return tc;
            });
            gspeccol.setCellValueFactory(cellValue -> {
                Gene g = cellValue.getValue();

                //Teginfo tes = g.tegeval;//getTes( spec );
                if (spec.equals(g.getSpecies())) {
                    return new ReadOnlyObjectWrapper(g.tegeval);
                } else {
                    GeneGroup gg = g.getGeneGroup();
                    Set<String> specset = gg.getSpecies();
                    if (specset.contains(spec)) {
                        Teginfo ti = gg.getGenes(spec);
                        return new ReadOnlyObjectWrapper(ti);
                    }
                }
                //return new SimpleStringProperty( tes != null ? tes.toString() : "" );
                //Teginfo ret = geneset.getGroupTes( cellValue.getValue(), spec );
                //return new ObservableValue<String>( ret.toString() );
                //return ret;
                return null;
            });

            /*gspeccol.setCellValueFactory( cellValue -> {
               return new SimpleStringProperty( cellValue.getValue().toString() );
               //Teginfo ret = geneset.getGroupTes( cellValue.getValue(), spec );
               //return new ObservableValue<String>( ret.toString() );
               //return ret;
            });*/
            gtable.getColumns().add(gspeccol);
        }

        ObservableList<Function> ofunc = FXCollections.observableList(geneset.funclist);
        ffilteredData = new FilteredList<>(ofunc, p -> true);
        fsortedData = new SortedList<>(ffilteredData);
        fsortedData.comparatorProperty().bind(ftable.comparatorProperty());
        ftable.setItems(fsortedData);

        ObservableList<GeneGroup> ogenegroup = FXCollections.observableList(geneset.allgenegroups);
        filteredData = new FilteredList<>(ogenegroup, p -> true);
        sortedData = new SortedList<>(filteredData);
        sortedData.comparatorProperty().bind(table.comparatorProperty());
        table.setItems(sortedData);

        ObservableList<Gene> ogene = FXCollections.observableList(geneset.genelist);
        gtable.setItems(ogene);

        int me = 0;
        int mu = 0;
        for (Gene g : geneset.genelist) {
            if (g.getGeneGroup() != null)
                me++;
            else
                mu++;
        }
        System.err.println(me + "  " + mu);
    }

    String userhome = System.getProperty("user.home");
    File f = new File(userhome);
    File idf = new File(f, "idspec.txt");
    BufferedWriter bw = new BufferedWriter(new FileWriter(idf)); //Files.newBufferedWriter(idf.toPath(), OpenOption.);
    for (String id : geneset.refmap.keySet()) {
        Gene g = geneset.refmap.get(id);
        bw.write(id + "\t" + g.getSpecies() + "\n");
    }
    bw.close();
}

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 *///w  w w . j a  va 2  s  . c  om
private static void planAjouter() {
    FileChooser fileChooser = new FileChooser();

    FileChooser.ExtensionFilter extFilterJpeg = new FileChooser.ExtensionFilter("Fichiers JPEG (*.jpg)",
            "*.jpg");
    FileChooser.ExtensionFilter extFilterBmp = new FileChooser.ExtensionFilter("Fichiers BMP (*.bmp)", "*.bmp");
    FileChooser.ExtensionFilter extFilterPng = new FileChooser.ExtensionFilter("Fichiers PNG (*.png)", "*.png");
    File repert = new File(getStrCurrentDir() + File.separator);
    fileChooser.setInitialDirectory(repert);
    fileChooser.getExtensionFilters().addAll(extFilterJpeg, extFilterPng, extFilterBmp);

    File fileFichierPlan = fileChooser.showOpenDialog(null);
    if (fileFichierPlan != null) {
        getPlans()[getiNombrePlans()] = new Plan();
        getPlans()[getiNombrePlans()].setStrImagePlan(fileFichierPlan.getName());
        getPlans()[getiNombrePlans()].setStrLienPlan(fileFichierPlan.getAbsolutePath());
        File fileRepertoirePlan = new File(getStrRepertTemp() + File.separator + "images");
        if (!fileRepertoirePlan.exists()) {
            fileRepertoirePlan.mkdirs();
        }
        try {
            copieFichierRepertoire(fileFichierPlan.getAbsolutePath(), fileRepertoirePlan.getAbsolutePath());

        } catch (IOException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
        getGestionnairePlan().ajouterPlan();
        setiNombrePlans(getiNombrePlans() + 1);
    }

}