List of usage examples for javafx.scene.layout AnchorPane setStyle
public final void setStyle(String value)
From source file:editeurpanovisu.EditeurPanovisu.java
private AnchorPane afficherListePanosVignettes(int numHS) { AnchorPane aplistePano = new AnchorPane(); aplistePano.setOpacity(1);/*ww w.ja v a2 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
/** * * @param iLargeur/*from ww w . j a v a2s . c o m*/ * @param iHauteur * @param bMasqueZones */ private static void ajouterZone(int iLargeur, int iHauteur, boolean bMasqueZones) { if (iNombreZones == -1) { iNombreZones = 0; } final ZoneTelecommande zone = new ZoneTelecommande(); strTypeZone = "poly"; zone.setStrTypeZone(strTypeZone); iNombrePointsZone = 0; bRecommenceZone = false; apZoneBarrePersonnalisee.getChildren().clear(); Button btnAnnuler = new Button(rbLocalisation.getString("main.annuler"), new ImageView(new Image("file:" + getStrRepertAppli() + "/images/annule.png"))); Button btnValider = new Button(rbLocalisation.getString("main.valider"), new ImageView(new Image("file:" + getStrRepertAppli() + "/images/valide.png"))); btnValider.setLayoutX(180); btnValider.setLayoutY(170); btnAnnuler.setLayoutX(80); btnAnnuler.setLayoutY(170); ToggleGroup tgTypeZone = new ToggleGroup(); Label lblTypeZone = new Label(rbLocalisation.getString("main.typeZone")); lblTypeZone.setLayoutX(20); lblTypeZone.setLayoutY(10); RadioButton rbCercleZone = new RadioButton(rbLocalisation.getString("main.cercle")); rbCercleZone.setLayoutX(20); rbCercleZone.setLayoutY(40); rbCercleZone.setUserData("circle"); rbCercleZone.setToggleGroup(tgTypeZone); RadioButton rbRectZone = new RadioButton(rbLocalisation.getString("main.rectangle")); rbRectZone.setLayoutX(120); rbRectZone.setLayoutY(40); rbRectZone.setUserData("rect"); rbRectZone.setToggleGroup(tgTypeZone); RadioButton rbPolyZone = new RadioButton(rbLocalisation.getString("main.polygone")); rbPolyZone.setLayoutX(220); rbPolyZone.setLayoutY(40); rbPolyZone.setUserData("poly"); rbPolyZone.setToggleGroup(tgTypeZone); rbPolyZone.setSelected(true); ComboBox cbTouchesBarre = new ComboBox(); cbTouchesBarre.getItems().clear(); for (int i = 0; i < strTouchesBarre.length; i++) { cbTouchesBarre.getItems().add(i, strTouchesBarre[i]); } cbTouchesBarre.setLayoutX(50); cbTouchesBarre.setLayoutY(110); afficheBarrePersonnalisee(iLargeur, iHauteur, bMasqueZones); AnchorPane apCreeZone = new AnchorPane(); apCreeZone.setStyle("-fx-background-color : rgba(0,0,0,0.1)"); apCreeZone.setPrefWidth(imgBarrePersonnalisee.getWidth()); apCreeZone.setPrefHeight(imgBarrePersonnalisee.getHeight()); apCreeZone.setCursor(Cursor.CROSSHAIR); apImgBarrePersonnalisee.getChildren().add(apCreeZone); apZoneBarrePersonnalisee.getChildren().addAll(lblTypeZone, rbCercleZone, rbRectZone, rbPolyZone, cbTouchesBarre, btnAnnuler, btnValider); apCreeZone.setOnMouseClicked((t) -> { rbCercleZone.setDisable(true); rbRectZone.setDisable(true); rbPolyZone.setDisable(true); iNombrePointsZone++; switch (strTypeZone) { case "rect": if (iNombrePointsZone == 1) { apCreeZone.getChildren().clear(); x1Zone = t.getX(); y1Zone = t.getY(); Circle cercle = new Circle(t.getX(), t.getY(), 4); cercle.setFill(Color.rgb(255, 0, 0, 0.5)); cercle.setStroke(Color.YELLOW); apCreeZone.getChildren().add(cercle); } if (iNombrePointsZone == 2) { apCreeZone.getChildren().clear(); Rectangle rect = new Rectangle(x1Zone, y1Zone, t.getX() - x1Zone, t.getY() - y1Zone); rect.setFill(Color.rgb(255, 0, 0, 0.5)); rect.setStroke(Color.YELLOW); apCreeZone.getChildren().add(rect); String chaine = Math.round(x1Zone * 10) / 10 + "," + Math.round(y1Zone * 10) / 10 + "," + Math.round(t.getX() * 10) / 10 + "," + Math.round(t.getY() * 10) / 10; zone.setStrCoordonneesZone(chaine); iNombrePointsZone = 0; } break; case "circle": if (iNombrePointsZone == 1) { apCreeZone.getChildren().clear(); x1Zone = t.getX(); y1Zone = t.getY(); Circle cercle = new Circle(t.getX(), t.getY(), 4); cercle.setFill(Color.rgb(255, 0, 0, 0.5)); cercle.setStroke(Color.YELLOW); apCreeZone.getChildren().add(cercle); } if (iNombrePointsZone == 2) { apCreeZone.getChildren().clear(); double rayon = Math.sqrt(Math.pow(x1Zone - t.getX(), 2.d) + Math.pow(y1Zone - t.getY(), 2.d)); Circle cercle = new Circle(x1Zone, y1Zone, rayon); cercle.setFill(Color.rgb(255, 0, 0, 0.5)); cercle.setStroke(Color.YELLOW); apCreeZone.getChildren().add(cercle); String chaine = Math.round(x1Zone * 10) / 10 + "," + Math.round(y1Zone * 10) / 10 + "," + Math.round(rayon * 10) / 10; zone.setStrCoordonneesZone(chaine); iNombrePointsZone = 0; } break; case "poly": if (bRecommenceZone) { bRecommenceZone = false; iNombrePointsZone = 1; } if (iNombrePointsZone == 1) { apCreeZone.getChildren().clear(); x1Zone = t.getX(); y1Zone = t.getY(); Circle cercle = new Circle(t.getX(), t.getY(), 4); cercle.setFill(Color.rgb(255, 0, 0, 0.5)); cercle.setStroke(Color.YELLOW); apCreeZone.getChildren().add(cercle); pointsPolyZone[(iNombrePointsZone - 1) * 2] = t.getX(); pointsPolyZone[(iNombrePointsZone - 1) * 2 + 1] = t.getY(); } if (iNombrePointsZone == 2) { apCreeZone.getChildren().clear(); Line ligne = new Line(x1Zone, y1Zone, t.getX(), t.getY()); ligne.setStroke(Color.YELLOW); apCreeZone.getChildren().add(ligne); pointsPolyZone[(iNombrePointsZone - 1) * 2] = t.getX(); pointsPolyZone[(iNombrePointsZone - 1) * 2 + 1] = t.getY(); } if (iNombrePointsZone > 2) { pointsPolyZone[(iNombrePointsZone - 1) * 2] = t.getX(); pointsPolyZone[(iNombrePointsZone - 1) * 2 + 1] = t.getY(); apCreeZone.getChildren().clear(); Polygon poly = new Polygon(); for (int i = 0; i < iNombrePointsZone; i++) { poly.getPoints().addAll(pointsPolyZone[i * 2], pointsPolyZone[i * 2 + 1]); } poly.setFill(Color.rgb(255, 0, 0, 0.5)); poly.setStroke(Color.YELLOW); apCreeZone.getChildren().add(poly); } if (t.getClickCount() == 2) { String chaine = ""; for (int i = 0; i < iNombrePointsZone; i++) { if (i != 0) { chaine += ","; } chaine += Math.round(pointsPolyZone[i * 2] * 10) / 10 + "," + Math.round(pointsPolyZone[i * 2 + 1] * 10) / 10; } zone.setStrCoordonneesZone(chaine); bRecommenceZone = true; } break; } }); apCreeZone.setOnMouseMoved((t) -> { switch (strTypeZone) { case "rect": if (iNombrePointsZone == 1) { apCreeZone.getChildren().clear(); Rectangle rect = new Rectangle(x1Zone, y1Zone, t.getX() - x1Zone, t.getY() - y1Zone); rect.setFill(Color.rgb(255, 0, 0, 0.5)); rect.setStroke(Color.YELLOW); apCreeZone.getChildren().add(rect); } break; case "circle": if (iNombrePointsZone == 1) { apCreeZone.getChildren().clear(); double rayon = Math.sqrt(Math.pow(x1Zone - t.getX(), 2.d) + Math.pow(y1Zone - t.getY(), 2.d)); Circle cercle = new Circle(x1Zone, y1Zone, rayon); cercle.setFill(Color.rgb(255, 0, 0, 0.5)); cercle.setStroke(Color.YELLOW); apCreeZone.getChildren().add(cercle); } break; case "poly": if (!bRecommenceZone) { if (iNombrePointsZone == 1) { apCreeZone.getChildren().clear(); Line ligne = new Line(x1Zone, y1Zone, t.getX(), t.getY()); ligne.setStroke(Color.YELLOW); apCreeZone.getChildren().add(ligne); } if (iNombrePointsZone > 1) { apCreeZone.getChildren().clear(); Polygon poly = new Polygon(); for (int i = 0; i < iNombrePointsZone; i++) { poly.getPoints().addAll(pointsPolyZone[i * 2], pointsPolyZone[i * 2 + 1]); } poly.getPoints().addAll(t.getX(), t.getY()); poly.setFill(Color.rgb(255, 0, 0, 0.5)); poly.setStroke(Color.YELLOW); apCreeZone.getChildren().add(poly); } } break; } }); btnValider.setOnMouseClicked((t) -> { if (strTypeZone.equals("poly")) { String strChaine = ""; for (int i = 0; i < iNombrePointsZone; i++) { if (i != 0) { strChaine += ","; } strChaine += Math.round(pointsPolyZone[i * 2] * 10) / 10 + "," + Math.round(pointsPolyZone[i * 2 + 1] * 10) / 10; } zone.setStrCoordonneesZone(strChaine); } zones[iNombreZones] = zone; iNombreZones++; afficheBarrePersonnalisee(iLargeur, iHauteur, bMasqueZones); btnAjouteZone.setDisable(false); }); btnAnnuler.setOnMouseClicked((t) -> { afficheBarrePersonnalisee(iLargeur, iHauteur, bMasqueZones); btnAjouteZone.setDisable(false); }); cbTouchesBarre.valueProperty().addListener((ov, strAncienneValeur, strNouvelleValeur) -> { if (strNouvelleValeur != null) { String strId = strCodeBarre[cbTouchesBarre.getSelectionModel().getSelectedIndex()]; zone.setStrIdZone(strId); } }); tgTypeZone.selectedToggleProperty() .addListener((ObservableValue<? extends Toggle> ov, Toggle old_toggle, Toggle new_toggle) -> { if (tgTypeZone.getSelectedToggle() != null) { strTypeZone = tgTypeZone.getSelectedToggle().getUserData().toString(); zone.setStrTypeZone(strTypeZone); } }); }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @param iNumHS/*from w ww . ja v a 2s . c om*/ * @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 strNomFichierBarre/*ww w . j a 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); }); }