List of usage examples for javafx.stage Screen getPrimary
public static Screen getPrimary()
From source file:editeurpanovisu.EditeurPanovisu.java
public static void creerEditerDiaporama(String strDiaporama) { apCreationDiaporama.getChildren().clear(); apCreationDiaporama.setStyle("-fx-background-color : -fx-base;" + "-fx-border-color: derive(-fx-base,10%);" + "-fx-effect: dropshadow( three-pass-box , rgba(0,0,0,0.5) , 8, 0.0 , 0 , 8 );" + "-fx-border-width: 1px;"); mbarPrincipal.setDisable(true);//from w w w . ja v a 2s . co m bbarPrincipal.setDisable(true); hbBarreBouton.setDisable(true); tpEnvironnement.setDisable(true); Rectangle2D tailleEcran = Screen.getPrimary().getBounds(); int iLargeurEcran = (int) tailleEcran.getWidth(); int iHauteurEcran = (int) tailleEcran.getHeight() - 100; final int iLargeur = 800; final int iHauteur = 630; Label lblNomDiapo = new Label(rbLocalisation.getString("main.nomDiapo")); lblNomDiapo.setLayoutX(30); lblNomDiapo.setLayoutY(45); ComboBox cbListeDiapo = new ComboBox(); cbListeDiapo.setLayoutX(150); cbListeDiapo.setLayoutY(40); cbListeDiapo.setValue(""); for (int i = 0; i < getiNombreDiapo(); i++) { cbListeDiapo.getItems().add(diaporamas[i].getStrNomDiaporama()); } Button btnNouveauDiapo = new Button(rbLocalisation.getString("diapo.nouveau")); btnNouveauDiapo.setLayoutX(iLargeur - 330); btnNouveauDiapo.setLayoutY(20); btnNouveauDiapo.setPrefSize(140, 60); Button btnEffaceDiapo = new Button(rbLocalisation.getString("diapo.efface")); btnEffaceDiapo.setLayoutX(iLargeur - 170); btnEffaceDiapo.setLayoutY(20); btnEffaceDiapo.setPrefSize(140, 60); gestDiapo = new GestionnaireDiaporamaController(); gestDiapo.initDiaporama(); apCreationDiaporama.getChildren().addAll(lblNomDiapo, cbListeDiapo, btnEffaceDiapo, btnNouveauDiapo, gestDiapo.apDiaporama); apCreationDiaporama.setPrefWidth(iLargeur); apCreationDiaporama.setMinWidth(iLargeur); apCreationDiaporama.setMaxWidth(iLargeur); apCreationDiaporama.setPrefHeight(iHauteur); apCreationDiaporama.setMinHeight(iHauteur); apCreationDiaporama.setMaxHeight(iHauteur); apCreationDiaporama.setLayoutX((iLargeurEcran - iLargeur) / 2); apCreationDiaporama.setLayoutY((iHauteurEcran - iHauteur) / 2); apCreationDiaporama.setVisible(true); gestDiapo.addPropertyChangeListener("valideDiapo", (e) -> { mbarPrincipal.setDisable(false); bbarPrincipal.setDisable(false); hbBarreBouton.setDisable(false); tpEnvironnement.setDisable(false); apCreationDiaporama.setVisible(false); gestDiapo.diapoSauve = true; boolean bTrouve = false; int iTrouve = -1; for (int i = 0; i < getiNombreDiapo(); i++) { if (diaporamas[i].getStrNomDiaporama().equals(cbListeDiapo.getValue())) { bTrouve = true; iTrouve = i; } } if (bTrouve) { diaporamas[iTrouve] = gestDiapo.getDiaporama(); try { creeDiaporamaHTML(diaporamas[iTrouve], iTrouve); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } } gestDiapo.reInit(new Diaporama()); }); gestDiapo.addPropertyChangeListener("visualiseDiapo", (e) -> { try { creeDiaporamaHTML(gestDiapo.getDiaporama(), -1); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } String strNomFichier = getStrRepertTemp() + File.separator + "diaporama" + File.separator + "diapo-1.html"; webEngine.load("file:///" + strNomFichier); apWebview.getChildren().clear(); browser.setPrefSize(apWebview.getPrefWidth() - 20, apWebview.getPrefHeight() - 50); browser.setTranslateX(10); browser.setTranslateY(10); apWebview.getChildren().add(browser); Button btnOk = new Button("Ok"); btnOk.setPrefSize(100, 20); btnOk.setLayoutX(apWebview.getPrefWidth() - 110); btnOk.setLayoutY(apWebview.getPrefHeight() - 30); apWebview.getChildren().add(btnOk); apWebview.setVisible(true); btnOk.setOnMouseClicked((me) -> { apWebview.setVisible(false); apWebview.getChildren().clear(); }); }); gestDiapo.addPropertyChangeListener("annuleDiapo", (e) -> { mbarPrincipal.setDisable(false); bbarPrincipal.setDisable(false); hbBarreBouton.setDisable(false); tpEnvironnement.setDisable(false); apCreationDiaporama.setVisible(false); gestDiapo.diapoSauve = true; gestDiapo.reInit(new Diaporama()); }); cbListeDiapo.valueProperty().addListener((ov, old_val, new_val) -> { if (new_val != null) { ButtonType reponse = null; ButtonType buttonTypeOui = new ButtonType(rbLocalisation.getString("main.oui")); ButtonType buttonTypeNon = new ButtonType(rbLocalisation.getString("main.non")); if (!gestDiapo.diapoSauve) { Alert alert = new Alert(AlertType.CONFIRMATION); alert.setTitle(rbLocalisation.getString("diapo.sauver")); alert.setHeaderText(null); alert.setContentText(rbLocalisation.getString("diapo.sauverTexte")); alert.getButtonTypes().clear(); alert.getButtonTypes().setAll(buttonTypeOui, buttonTypeNon); Optional<ButtonType> actReponse = alert.showAndWait(); reponse = actReponse.get(); } if (reponse == buttonTypeOui) { boolean bTrouve = false; int iTrouve = -1; for (int i = 0; i < getiNombreDiapo(); i++) { if (diaporamas[i].getStrNomDiaporama().equals(old_val)) { bTrouve = true; iTrouve = i; } } if (bTrouve) { diaporamas[iTrouve] = gestDiapo.getDiaporama(); try { creeDiaporamaHTML(diaporamas[iTrouve], iTrouve); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } } } gestDiapo.diapoSauve = true; boolean bTrouve = false; int iTrouve = -1; for (int i = 0; i < getiNombreDiapo(); i++) { if (diaporamas[i].getStrNomDiaporama().equals(new_val)) { bTrouve = true; iTrouve = i; } } if (bTrouve) { gestDiapo.setbDisabled(false); gestDiapo.reInit(diaporamas[iTrouve]); } } }); btnNouveauDiapo.setOnMouseClicked((me) -> { ButtonType reponse = null; ButtonType buttonTypeOui = new ButtonType(rbLocalisation.getString("main.oui")); ButtonType buttonTypeNon = new ButtonType(rbLocalisation.getString("main.non")); if (!gestDiapo.diapoSauve) { Alert alert = new Alert(AlertType.CONFIRMATION); alert.setTitle(rbLocalisation.getString("diapo.sauver")); alert.setHeaderText(null); alert.setContentText(rbLocalisation.getString("diapo.sauverTexte")); alert.getButtonTypes().clear(); alert.getButtonTypes().setAll(buttonTypeOui, buttonTypeNon); Optional<ButtonType> actReponse = alert.showAndWait(); reponse = actReponse.get(); } if (reponse == buttonTypeOui) { gestDiapo.diapoSauve = true; boolean bTrouve = false; int iTrouve = -1; for (int i = 0; i < getiNombreDiapo(); i++) { if (diaporamas[i].getStrNomDiaporama().equals(cbListeDiapo.getValue())) { bTrouve = true; iTrouve = i; } } if (bTrouve) { diaporamas[iTrouve] = gestDiapo.getDiaporama(); try { creeDiaporamaHTML(diaporamas[iTrouve], iTrouve); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } } } TextInputDialog dialog = new TextInputDialog(""); dialog.setTitle(rbLocalisation.getString("main.nomDiapo")); dialog.setHeaderText(null); dialog.setContentText(rbLocalisation.getString("diapo.entrerNom")); Optional<String> resultat = dialog.showAndWait(); if (resultat.isPresent()) { String nomDiapo = resultat.get(); boolean bTrouve = false; for (int i = 0; i < getiNombreDiapo(); i++) { if (diaporamas[i].getStrNomDiaporama().equals(nomDiapo)) { bTrouve = true; } } if (!bTrouve) { diaporamas[getiNombreDiapo()] = new Diaporama(); diaporamas[getiNombreDiapo()].setStrNomDiaporama(nomDiapo); cbListeDiapo.getItems().add(nomDiapo); cbListeDiapo.setValue(nomDiapo); gestDiapo.setbDisabled(false); gestDiapo.reInit(diaporamas[getiNombreDiapo()]); setiNombreDiapo(getiNombreDiapo() + 1); } else { Alert alert = new Alert(AlertType.ERROR); alert.setTitle(rbLocalisation.getString("diapo.erreur")); alert.setHeaderText(null); alert.setContentText(rbLocalisation.getString("diapo.erreurNom")); alert.showAndWait(); } } }); }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @param strNomFichierBarre//w w w . ja v 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
/** * * @param stPrimaryStage/*ww w . j a v a 2 s . com*/ * @throws Exception Exceptions */ @Override public void start(Stage stPrimaryStage) throws Exception { if (isLinux()) { stPrimaryStage.setFullScreen(true); } File fileRep = new File(""); setbInternet(netIsAvailable()); setStrCurrentDir(fileRep.getAbsolutePath()); setStrRepertAppli(fileRep.getAbsolutePath()); fileRepertConfig = new File(getStrRepertAppli() + File.separator + "configPV"); rbLocalisation = ResourceBundle.getBundle("editeurpanovisu.i18n.PanoVisu", getLocale()); Package pack = Package.getPackage("editeurpanovisu"); strNumVersion = pack.getImplementationVersion() + "-b" + rbLocalisation.getString("build.numero").replace(" ", "").replace("", ""); lisPreferences(); setStPrincipal(stPrimaryStage); stPrimaryStage.setResizable(false); getStPrincipal().setResizable(true); getStPrincipal().setAlwaysOnTop(false); getStPrincipal().setTitle("PanoVisu v" + strNumVersion.split("-")[0]); stPrimaryStage.setMaximized(true); stPrimaryStage.setAlwaysOnTop(false); Rectangle2D tailleEcran = Screen.getPrimary().getBounds(); int iHauteur; if (isMac()) { iHauteur = (int) tailleEcran.getHeight() - 60; } else { iHauteur = (int) tailleEcran.getHeight() - 20; } int iLargeur = (int) tailleEcran.getWidth() - 2; largeurMax = tailleEcran.getWidth() - 450.0d; creeEnvironnement(stPrimaryStage, iLargeur, iHauteur); File fileRepertTempFile = new File(getStrRepertAppli() + File.separator + "temp"); setStrRepertTemp(fileRepertTempFile.getAbsolutePath()); if (!fileRepertTempFile.exists()) { fileRepertTempFile.mkdirs(); } else { deleteDirectory(getStrRepertTemp()); } String strExtTemp = strGenereChaineAleatoire(20); setStrRepertTemp(getStrRepertTemp() + File.separator + "temp" + strExtTemp); fileRepertTempFile = new File(getStrRepertTemp()); fileRepertTempFile.mkdirs(); installeEvenements(); projetsNouveau(); stPrimaryStage.setOnCloseRequest((WindowEvent event) -> { try { sauvePreferences(); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } 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.setTitle(rbLocalisation.getString("main.dialog.quitterApplication")); alert.setHeaderText(null); 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)) { try { sauveHistoFichiers(); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } deleteDirectory(getStrRepertTemp()); File fileTemp = new File(getStrRepertTemp()); fileTemp.delete(); } else { event.consume(); } }); }