List of usage examples for javafx.scene.control ScrollPane setVbarPolicy
public final void setVbarPolicy(ScrollBarPolicy value)
From source file:com.playonlinux.javafx.mainwindow.console.ConsoleTab.java
public ConsoleTab(CommandLineInterpreterFactory commandLineInterpreterFactory) { final VBox content = new VBox(); commandInterpreter = commandLineInterpreterFactory.createInstance(); this.setText(translate("Console")); this.setContent(content); final TextField command = new TextField(); command.getStyleClass().add("consoleCommandType"); final TextFlow console = new TextFlow(); final ScrollPane consolePane = new ScrollPane(console); content.getStyleClass().add("rightPane"); consolePane.getStyleClass().add("console"); consolePane.setVbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); content.getChildren().addAll(consolePane, command); command.requestFocus();//from ww w.j a v a2s . c o m command.setOnKeyPressed(event -> { if (event.getCode() == KeyCode.ENTER) { final String commandToSend = command.getText(); final int cursorPosition = command.getCaretPosition(); command.setDisable(true); commandHistory.add(new CommandHistory.Item(commandToSend, cursorPosition)); Text commandText = new Text(nextSymbol + commandToSend + "\n"); commandText.getStyleClass().add("commandText"); console.getChildren().add(commandText); command.setText(""); if (commandInterpreter.sendLine(commandToSend, message -> { Platform.runLater(() -> { if (!StringUtils.isBlank(message)) { Text resultText = new Text(message); resultText.getStyleClass().add("resultText"); console.getChildren().add(resultText); } command.setDisable(false); command.requestFocus(); consolePane.setVvalue(consolePane.getVmax()); }); })) { nextSymbol = NOT_INSIDE_BLOCK; } else { nextSymbol = INSIDE_BLOCK; } } }); command.setOnKeyReleased(event -> { if (event.getCode() == KeyCode.UP) { CommandHistory.Item historyItem = commandHistory.up(); command.setText(historyItem.getCommand()); command.positionCaret(historyItem.getCursorPosition()); } else if (event.getCode() == KeyCode.DOWN) { CommandHistory.Item historyItem = commandHistory.down(); command.setText(historyItem.getCommand()); command.positionCaret(historyItem.getCursorPosition()); } }); this.setOnCloseRequest(event -> commandInterpreter.close()); }
From source file:de.ifsr.adam.ImageGenerator.java
/** * Main method for generating an Preview out of a report with it results. * * @param resultReport The report with it results * @return returns true if the generation and saving of the image was successful, false * otherwise/* w ww .j ava 2 s. com*/ */ public Scene generatePreview(JSONArray resultReport) { log.info("Preview generation has started"); VBox vbox = generateImageVBox(resultReport); ScrollPane scrollPane = new ScrollPane(); scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.ALWAYS); scrollPane.setContent(vbox); //Gets the screen resulution for scaling. GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice(); int width = gd.getDisplayMode().getWidth(); int height = gd.getDisplayMode().getHeight(); scrollPane.setVmax(100.0); scrollPane.setPrefSize(width * 0.65, height * 0.8); //TODO Can I do this better? ((Group) scene.getRoot()).getChildren().add(scrollPane); scene.getStylesheets().add(this.stylesheetURI.toString()); //The Observer for resizing the scrollpane when the window changes. scene.widthProperty().addListener(new ChangeListener<Number>() { @Override public void changed(ObservableValue<? extends Number> observableValue, Number oldSceneWidth, Number newSceneWidth) { scrollPane.setPrefWidth(newSceneWidth.doubleValue()); } }); //The Observer for resizing the scrollpane when the window changes. scene.heightProperty().addListener(new ChangeListener<Number>() { @Override public void changed(ObservableValue<? extends Number> observableValue, Number oldSceneHeight, Number newSceneHeight) { scrollPane.setPrefHeight(newSceneHeight.doubleValue()); } }); log.info("End of Preview generation"); return scene; }
From source file:org.mskcc.shenkers.view.IntervalViewNGTest.java
@Test public void testGenericStackedIntervalView() throws InterruptedException { List<Pair<Integer, Integer>> intervals = Arrays.asList(new Pair(0, 1), new Pair(1, 2), new Pair(2, 3), new Pair(3, 4), new Pair(4, 5), new Pair(5, 6)); List<Pane> nodes = intervals.stream().map(i -> new RectangleIntervalNode()).collect(Collectors.toList()); GenericStackedIntervalView p = new GenericStackedIntervalView(0, 6); p.setData(intervals, nodes);//from w w w. j a v a 2 s . c o m ScrollPane sp = new ScrollPane(p); ScrollBar sb = new ScrollBar(); sb.maxProperty().bind(sp.vmaxProperty()); sb.minProperty().bind(sp.vminProperty()); sb.visibleAmountProperty().bind(sp.heightProperty().divide(p.prefHeightProperty())); sb.setOrientation(Orientation.VERTICAL); sp.vvalueProperty().bindBidirectional(sb.valueProperty()); HiddenSidesPane hsp = new HiddenSidesPane(); hsp.setContent(sp); hsp.setRight(sb); sp.setVbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); sp.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); p.setOrientation(Orientation.VERTICAL); p.prefTileHeightProperty().bind(new SimpleDoubleProperty(40)); // p.minHeightProperty().bind(new SimpleDoubleProperty(20).multiply(Bindings.size(p.getChildren()))); p.prefTileWidthProperty().bind(sp.widthProperty()); p.prefHeightProperty() .bind(new SimpleDoubleProperty(50).multiply(Bindings.size(p.getChildren())).subtract(10)); p.prefWidthProperty().bind(sp.widthProperty()); sp.setPadding(Insets.EMPTY); p.setVgap(10); CountDownLatch l = new CountDownLatch(1); Platform.runLater(() -> { Stage stage = new Stage(); stage.setOnHidden(e -> { l.countDown(); }); Scene scene = new Scene(hsp, 300, 300, Color.GRAY); stage.setTitle("GenericStackedPaneTest"); stage.setScene(scene); stage.show(); }); l.await(); }
From source file:org.mskcc.shenkers.view.IntervalViewNGTest.java
public void testStackedIntervalView() throws InterruptedException { StackedIntervalView p = new StackedIntervalView(0, 6); p.setData(Arrays.asList(new Pair(0, 1), new Pair(1, 2), new Pair(2, 3), new Pair(3, 4), new Pair(4, 5), new Pair(5, 6) //, {8, 10}, {1, 2}, {3, 7}, // {9, 10}, {1, 2}, {3, 5}, {6, 7}, {8, 10}, {2, 5}, {8, 10} ));// ww w .j ava 2 s . c o m ScrollPane sp = new ScrollPane(p); ScrollBar sb = new ScrollBar(); sb.maxProperty().bind(sp.vmaxProperty()); sb.minProperty().bind(sp.vminProperty()); sb.visibleAmountProperty().bind(sp.heightProperty().divide(p.prefHeightProperty())); sb.setOrientation(Orientation.VERTICAL); sp.vvalueProperty().bindBidirectional(sb.valueProperty()); HiddenSidesPane hsp = new HiddenSidesPane(); hsp.setContent(sp); hsp.setRight(sb); sp.setVbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); sp.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); p.setOrientation(Orientation.VERTICAL); p.prefTileHeightProperty().bind(new SimpleDoubleProperty(40)); // p.minHeightProperty().bind(new SimpleDoubleProperty(20).multiply(Bindings.size(p.getChildren()))); p.prefTileWidthProperty().bind(sp.widthProperty()); p.prefHeightProperty() .bind(new SimpleDoubleProperty(50).multiply(Bindings.size(p.getChildren())).subtract(10)); p.prefWidthProperty().bind(sp.widthProperty()); sp.setPadding(Insets.EMPTY); p.setVgap(10); CountDownLatch l = new CountDownLatch(1); Platform.runLater(() -> { Stage stage = new Stage(); stage.setOnHidden(e -> { l.countDown(); }); Scene scene = new Scene(hsp, 300, 300, Color.GRAY); stage.setTitle("StackedPaneTest"); stage.setScene(scene); stage.show(); }); l.await(); }
From source file:org.mskcc.shenkers.view.IntervalViewNGTest.java
public void testStackIntervalView() throws InterruptedException { System.out.println("testStackIntervalView"); int[][] d = new int[][] { { 2, 6 }, { 7, 10 }, { 1, 3 }, { 4, 6 }, { 8, 10 }, { 1, 2 }, { 3, 7 }, { 9, 10 }, { 1, 2 }, { 3, 5 }, { 6, 7 }, { 8, 10 }, { 2, 5 }, { 8, 10 } }; List<int[]> asList = Arrays.asList(d); Collections.sort(asList, new Comparator<int[]>() { @Override/* www . j a va2s . c om*/ public int compare(int[] o1, int[] o2) { return o1[0] - o2[0]; } }); List<TreeRangeSet<Integer>> rows = new ArrayList<>(); rows.add(TreeRangeSet.create()); for (int[] r : d) { Range<Integer> R = Range.closed(r[0], r[1]); int i = 0; added: { while (i < rows.size()) { TreeRangeSet<Integer> set = rows.get(i); RangeSet<Integer> intersection = set.subRangeSet(Range.closed(r[0] - 1, r[1] + 1)); if (intersection.isEmpty()) { set.add(R); break added; } i++; } // Stri i = ; TreeRangeSet<Integer> row = TreeRangeSet.create(); row.add(R); rows.add(row); } } TilePane p = new TilePane(); p.setSnapToPixel(false); for (int i = 0; i < rows.size(); i++) { p.getChildren().add(get(rows.get(i), 0, 11)); System.out.println(rows.get(i).toString()); StringBuilder sb = new StringBuilder(11); sb.append(StringUtils.repeat(".", 11)); for (int j = 0; j < 11; j++) { if (rows.get(i).contains(j)) { sb.setCharAt(j, 'X'); } } System.out.println(sb.toString()); } // p.prefWidth(100); // p.prefHeight(100); ScrollPane sp = new ScrollPane(p); ScrollBar sb = new ScrollBar(); sb.maxProperty().bind(sp.vmaxProperty()); sb.minProperty().bind(sp.vminProperty()); sb.visibleAmountProperty().bind(sp.heightProperty().divide(p.prefHeightProperty())); sb.setOrientation(Orientation.VERTICAL); sp.vvalueProperty().bindBidirectional(sb.valueProperty()); HiddenSidesPane hsp = new HiddenSidesPane(); hsp.setContent(sp); hsp.setRight(sb); sp.setVbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); sp.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); p.setOrientation(Orientation.VERTICAL); p.prefTileHeightProperty().bind(new SimpleDoubleProperty(40)); // p.minHeightProperty().bind(new SimpleDoubleProperty(20).multiply(Bindings.size(p.getChildren()))); p.prefTileWidthProperty().bind(sp.widthProperty()); p.prefHeightProperty() .bind(new SimpleDoubleProperty(50).multiply(Bindings.size(p.getChildren())).subtract(10)); p.prefWidthProperty().bind(sp.widthProperty()); sp.setPadding(Insets.EMPTY); p.setVgap(10); CountDownLatch l = new CountDownLatch(1); Platform.runLater(() -> { Stage stage = new Stage(); stage.setOnHidden(e -> { l.countDown(); }); Scene scene = new Scene(hsp, 300, 300, Color.GRAY); stage.setTitle("JavaFX Scene Graph Demo"); stage.setScene(scene); stage.show(); }); l.await(); }
From source file:qupath.lib.gui.tma.TMASummaryViewer.java
private Pane createSidePane() { BorderPane pane = new BorderPane(); TabPane tabPane = new TabPane(); kmDisplay = new KaplanMeierDisplay(null, null, null, null); BorderPane paneKaplanMeier = new BorderPane(); paneKaplanMeier.setCenter(kmDisplay.getView()); paneKaplanMeier.setPadding(new Insets(10, 10, 10, 10)); // comboMainMeasurement.prefWidthProperty().bind(paneKaplanMeier.widthProperty()); comboMainMeasurement.setMaxWidth(Double.MAX_VALUE); comboMainMeasurement.setTooltip(new Tooltip("Measurement thresholded to create survival curves etc.")); GridPane kmTop = new GridPane(); kmTop.add(new Label("Score"), 0, 0); kmTop.add(comboMainMeasurement, 1, 0); kmTop.add(new Label("Survival type"), 0, 1); kmTop.add(comboSurvival, 1, 1);/*from w ww . j a v a 2s . c om*/ comboSurvival.setTooltip(new Tooltip("Specify overall or recurrence-free survival (if applicable)")); comboSurvival.setMaxWidth(Double.MAX_VALUE); GridPane.setHgrow(comboMainMeasurement, Priority.ALWAYS); GridPane.setHgrow(comboSurvival, Priority.ALWAYS); kmTop.setHgap(5); paneKaplanMeier.setTop(kmTop); // kmDisplay.setOrientation(Orientation.VERTICAL); histogramDisplay = new HistogramDisplay(model, false); comboMainMeasurement.getSelectionModel().selectedItemProperty().addListener((v, o, n) -> { histogramDisplay.refreshCombo(); histogramDisplay.showHistogram(n); updateSurvivalCurves(); }); comboMeasurementMethod.getSelectionModel().selectedItemProperty().addListener((v, o, n) -> { histogramDisplay.refreshHistogram(); scatterPane.updateChart(); updateSurvivalCurves(); }); comboSurvival.getSelectionModel().selectedItemProperty().addListener((v, o, n) -> { updateSurvivalCurves(); }); // Create a Tab for showing images BorderPane paneImages = new BorderPane(); CheckBox cbShowOverlay = new CheckBox("Show overlay"); imageAvailability.addListener((c, v, n) -> { if (n == ImageAvailability.OVERLAY_ONLY) cbShowOverlay.setSelected(true); else if (n == ImageAvailability.IMAGE_ONLY) cbShowOverlay.setSelected(false); cbShowOverlay.setDisable(n != ImageAvailability.BOTH); }); ListView<TMAEntry> listImages = new ListView<>(); listImages.setCellFactory(v -> new ImageListCell(cbShowOverlay.selectedProperty(), imageCache)); listImages.widthProperty().addListener((v, o, n) -> listImages.refresh()); listImages.setStyle("-fx-control-inner-background-alt: -fx-control-inner-background ;"); table.getSelectionModel().getSelectedItems().addListener((Change<? extends TreeItem<TMAEntry>> e) -> { List<TMAEntry> entries = new ArrayList<>(); for (TreeItem<TMAEntry> item : e.getList()) { if (item.getChildren().isEmpty()) { if (item.getValue().hasImage() || item.getValue().hasOverlay()) entries.add(item.getValue()); } else { for (TreeItem<TMAEntry> item2 : item.getChildren()) { if (item2.getValue().hasImage() || item2.getValue().hasOverlay()) entries.add(item2.getValue()); } } listImages.getItems().setAll(entries); } }); cbShowOverlay.setAlignment(Pos.CENTER); cbShowOverlay.setMaxWidth(Double.MAX_VALUE); cbShowOverlay.setPadding(new Insets(5, 5, 5, 5)); cbShowOverlay.selectedProperty().addListener((v, o, n) -> listImages.refresh()); paneImages.setCenter(listImages); paneImages.setTop(cbShowOverlay); // Determine visibility based upon whether there are any images to show // Tab tabImages = new Tab("Images", paneImages); ScrollPane scrollPane = new ScrollPane(paneKaplanMeier); scrollPane.setFitToWidth(true); scrollPane.setFitToHeight(true); scrollPane.setVbarPolicy(ScrollBarPolicy.AS_NEEDED); scrollPane.setHbarPolicy(ScrollBarPolicy.AS_NEEDED); Tab tabSurvival = new Tab("Survival", scrollPane); tabPane.getTabs().addAll(new Tab("Table", getCustomizeTablePane()), // tabImages, new Tab("Histogram", histogramDisplay.getPane()), new Tab("Scatterplot", scatterPane.getPane()), tabSurvival); tabPane.setTabClosingPolicy(TabClosingPolicy.UNAVAILABLE); // if (imageAvailability.get() != ImageAvailability.NONE) // tabPane.getTabs().add(1, tabImages); // // imageAvailability.addListener((c, v, n) -> { // if (n == ImageAvailability.NONE) // tabPane.getTabs().remove(tabImages); // else if (!tabPane.getTabs().contains(tabImages)) // tabPane.getTabs().add(1, tabImages); // }); // tabSurvival.visibleProperty().bind( // Bindings.createBooleanBinding(() -> !survivalColumns.isEmpty(), survivalColumns) // ); pane.setCenter(tabPane); pane.setMinWidth(350); return pane; }
From source file:editeurpanovisu.EditeurPanovisu.java
private ScrollPane afficheLegende() { double positionX = 0; double positionY = 0; AnchorPane apLegende = new AnchorPane(); ScrollPane spLegende = new ScrollPane(apLegende); spLegende.getStyleClass().add("legendePane"); apLegende.setMinWidth(1000);//from ww w.j av a 2s . co m apLegende.setMinHeight(150); apLegende.setPrefWidth(1000); apLegende.setPrefHeight(150); apLegende.setMaxWidth(1000); apLegende.setMaxHeight(150); positionY = (pano.getLayoutY() + pano.getPrefHeight() + 10); Circle point = new Circle(30, 20, 5); point.setFill(Color.YELLOW); point.setStroke(Color.RED); point.setCursor(Cursor.DEFAULT); Circle point2 = new Circle(30, 60, 5); point2.setFill(Color.BLUE); point2.setStroke(Color.YELLOW); point2.setCursor(Cursor.DEFAULT); Circle point3 = new Circle(30, 100, 5); point3.setFill(Color.GREEN); point3.setStroke(Color.YELLOW); point3.setCursor(Cursor.DEFAULT); Polygon polygon = new Polygon(); polygon.getPoints().addAll(new Double[] { 15.0, 2.0, 2.0, 2.0, 2.0, 15.0, -2.0, 15.0, -2.0, 2.0, -15.0, 2.0, -15.0, -2.0, -2.0, -2.0, -2.0, -15.0, 2.0, -15.0, 2.0, -2.0, 15.0, -2.0 }); polygon.setStrokeLineJoin(StrokeLineJoin.MITER); polygon.setFill(Color.BLUEVIOLET); polygon.setStroke(Color.YELLOW); polygon.setId("PoV"); polygon.setLayoutX(500); polygon.setLayoutY(20); Label lblHS = new Label(rb.getString("main.legendeHS")); Label lblHSImage = new Label(rb.getString("main.legendeHSImage")); //Label lblHSHTML = new Label(rb.getString("main.legendeHSHTML")); Label lblPoV = new Label(rb.getString("main.legendePoV")); Label lblNord = new Label(rb.getString("main.legendeNord")); Line ligneNord = new Line(500, 45, 500, 65); ligneNord.setStroke(Color.RED); ligneNord.setStrokeWidth(3); lblHS.setLayoutX(50); lblHS.setLayoutY(10); lblHSImage.setLayoutX(50); lblHSImage.setLayoutY(50); //lblHSHTML.setLayoutX(50); //lblHSHTML.setLayoutY(90); lblPoV.setLayoutX(520); lblPoV.setLayoutY(10); lblNord.setLayoutX(520); lblNord.setLayoutY(50); // apLegende.getChildren().addAll(lblHS, point, lblHSImage, point2, lblHSHTML, point3, lblPoV, polygon, lblNord, ligneNord); apLegende.getChildren().addAll(lblHS, point, lblHSImage, point2, lblPoV, polygon, lblNord, ligneNord); apLegende.setId("legende"); apLegende.setVisible(true); if (largeurMax - 50 < 1004) { spLegende.setPrefWidth(largeurMax - 50); spLegende.setMaxWidth(largeurMax - 50); positionX = 25; } else { spLegende.setPrefWidth(1004); spLegende.setMaxWidth(1004); positionX = (largeurMax - 1004) / 2.d; } spLegende.setLayoutX(positionX); spLegende.setLayoutY(positionY); spLegende.setVbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); spLegende.setHbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED); return spLegende; }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @param stPrimaryStage//from w w w . j ava 2s . co m * @param iLargeur * @param iHauteur * @throws Exception Exceptions */ private static void creeEnvironnement(Stage stPrimaryStage, int iLargeur, int iHauteur) throws Exception { popUp = new PopUpDialogController(); stPrimaryStage.setMaximized(true); stPrimaryStage.setMinWidth(1280); stPrimaryStage.setMinHeight(720); iHauteurInterface = iHauteur; iLargeurInterface = iLargeur; /** * Cration des lments constitutifs de l'cran */ vbRacine = new VBox(); AnchorPane panePrincipale = new AnchorPane(vbRacine); setScnPrincipale(new Scene(panePrincipale, iLargeur, iHauteur, Color.rgb(221, 221, 221))); if (!fileRepertConfig.exists()) { fileRepertConfig.mkdirs(); setLocale(new Locale("fr", "FR")); File f = new File("css/clair.css"); getScnPrincipale().getStylesheets().add("file:///" + f.getAbsolutePath().replace("\\", "/")); setStrRepertoireProjet(getStrRepertAppli()); } else { lisFichierConfig(); } creeMenu(vbRacine); tpEnvironnement = new TabPane(); tpEnvironnement.setMinHeight(iHauteur - 60); tpEnvironnement.setMaxHeight(iHauteur - 60); tpEnvironnement.setMinWidth(iLargeur); tpEnvironnement.setMaxWidth(iLargeur); Pane paneBarreStatus = new Pane(); paneBarreStatus.setPrefSize(iLargeur + 20, 30); paneBarreStatus.setTranslateY(25); paneBarreStatus.setStyle("-fx-background-color:#c00;-fx-border-color:#aaa"); tabVisite = new Tab(); Pane paneVisualiseur; Pane panePlan; setTabInterface(new Tab()); setTabPlan(new Tab()); getGestionnaireInterface().creeInterface(iLargeur, iHauteur - 78); paneVisualiseur = getGestionnaireInterface().paneTabInterface; getGestionnairePlan().creeInterface(iLargeur, iHauteur - 78); panePlan = getGestionnairePlan().getPaneInterface(); getTabInterface().setContent(paneVisualiseur); getTabPlan().setContent(panePlan); HBox hbEnvironnement = new HBox(); TextField tfTitrePano; TextField tfTitreVisite; tpEnvironnement.getTabs().addAll(tabVisite, getTabInterface(), getTabPlan()); tpEnvironnement.setSide(Side.TOP); tpEnvironnement.getSelectionModel().selectedItemProperty() .addListener((ObservableValue<? extends Tab> ov, Tab t, Tab t1) -> { if (getGestionnaireInterface().navigateurCarteOL == null && isbInternet()) { getGestionnaireInterface().navigateurCarteOL = new NavigateurOpenLayersSeul(); getGestionnaireInterface().apNavigateurCarte = getGestionnaireInterface().navigateurCarteOL .afficheNavigateurOpenLayer(); } getGestionnaireInterface().rafraichit(); }); tabInterface.disableProperty().addListener((ov, av, nv) -> { if (!nv && getGestionnaireInterface().navigateurCarteOL == null && isbInternet()) { getGestionnaireInterface().navigateurCarteOL = new NavigateurOpenLayersSeul(); getGestionnaireInterface().navigateurCarteOL.setBingApiKey(getStrBingAPIKey()); getGestionnaireInterface().apNavigateurCarte = getGestionnaireInterface().navigateurCarteOL .afficheNavigateurOpenLayer(); } }); tabVisite.setText(rbLocalisation.getString("main.creationVisite")); tabVisite.setClosable(false); getTabInterface().setText(rbLocalisation.getString("main.creationInterface")); getTabInterface().setClosable(false); getTabPlan().setText(rbLocalisation.getString("main.tabPlan")); getTabPlan().setClosable(false); getTabPlan().setDisable(true); if (isbInternet()) { getTabInterface().setDisable(true); } tabVisite.setContent(hbEnvironnement); double largeur; String strLabelStyle = "-fx-color : white;-fx-background-color : #fff;-fx-padding : 5px; -fx-border : 1px solid #777;-fx-width : 100px;-fx-margin : 5px; "; vbRacine.setStyle("-fx-font-size : 9pt;-fx-font-family: Arial;"); vbRacine.setTranslateY(15); spPanneauOutils = new ScrollPane(); spPanneauOutils.setId("panOutils"); vbOutils = new VBox(-5); vbOutils.setPrefWidth(largeurOutils - 20); setVbChoixPanoramique(new VBox()); getVbChoixPanoramique().setId("choixPanoramique"); double largeurOutil = vbOutils.getPrefWidth(); apPanovisu = new AnchorPane(); apPanovisu.setPrefHeight(50); apPanovisu.setMinHeight(50); apPanovisu.setMaxHeight(50); apPanovisu.setMaxWidth(380); apPanovisu.setPrefWidth(380); apPanovisu.setMinWidth(380); apPanovisu.setLayoutX(iLargeur - 380); if (isMac()) { apPanovisu.setLayoutY(0); } else { apPanovisu.setLayoutY(45); } apPanovisu.setStyle("-fx-background-color : derive(-fx-base,20%);"); ImageView ivPanoVisu = new ImageView(new Image( "file:" + getStrRepertAppli() + File.separator + "images/panovisu.png", 48, 48, true, true)); ivPanoVisu.setLayoutX(40); ivPanoVisu.setLayoutY(1); Label lblPanoVisu = new Label("panoVisu Vers. : " + strNumVersion); lblPanoVisu.setStyle( "-fx-font-weight : bold;-fx-font-family : Verdana,Arial,sans-serif;-fx-font-size : 1.2em;"); lblPanoVisu.setLayoutX(108); lblPanoVisu.setLayoutY(5); Label lblPanoVisu2 = new Label("Laurent LANG (2014-2015)"); lblPanoVisu2.setLayoutX(108); lblPanoVisu2.setLayoutY(35); lblPanoVisu2.setStyle("-fx-font-family : Verdana,Arial,sans-serif;-fx-font-size : 0.8em;"); apPanovisu.getChildren().addAll(ivPanoVisu, lblPanoVisu, lblPanoVisu2); panePrincipale.getChildren().add(apPanovisu); panePrincipale.getChildren().add(apWebview); apWebview.setVisible(false); apWebview.setStyle("-fx-background-color : #333;"); apWebview.setPrefSize(iLargeur - 75, iHauteur - 80); apWebview.setMinSize(iLargeur - 75, iHauteur - 80); apWebview.setMaxSize(iLargeur - 75, iHauteur - 80); apWebview.setTranslateX(25); apWebview.setTranslateY(5); /* Paramtres de la visite */ apParametresVisite = new AnchorPane(); apParametresVisite.setLayoutY(40); Label lblTitreVisite = new Label(rbLocalisation.getString("main.titreVisite")); lblTitreVisite.setStyle("-fx-font-size : 10pt;-fx-font-weight : bold;"); lblTitreVisite.setLayoutX(10); lblTitreVisite.setLayoutY(5); tfTitreVisite = new TextField(); tfTitreVisite.setId("titreVisite"); tfTitreVisite.setPrefSize(200, 25); tfTitreVisite.setMaxSize(250, 25); tfTitreVisite.setLayoutX(60); tfTitreVisite.setLayoutY(25); cbIntroPetitePlanete = new CheckBox(rbLocalisation.getString("main.introPetitePlanete")); cbIntroPetitePlanete.setSelected(false); cbIntroPetitePlanete.setLayoutX(10); cbIntroPetitePlanete.setLayoutY(60); Label lblChoixPanoramiqueEntree = new Label(rbLocalisation.getString("main.panoEntree")); lblChoixPanoramiqueEntree.setStyle("-fx-font-size : 1em;"); lblChoixPanoramiqueEntree.setLayoutX(10); lblChoixPanoramiqueEntree.setLayoutY(90); lblChoixPanoramiqueEntree.setMaxWidth(largeurOutils - 40); lblChoixPanoramiqueEntree.setPrefHeight(35); lblChoixPanoramiqueEntree.setWrapText(true); apParametresVisite.setPrefHeight(120); apParametresVisite.getChildren().addAll(lblTitreVisite, tfTitreVisite, cbIntroPetitePlanete, lblChoixPanoramiqueEntree); PaneOutil poParametresVisite = new PaneOutil(rbLocalisation.getString("main.parametresVisite"), apParametresVisite, largeurOutil); setApPVIS(new AnchorPane(poParametresVisite.getApPaneOutil())); poParametresVisite.setbValide(isbIntroPetitePlanete()); AnchorPane apAutoRotation = new AnchorPane(); apAutoRotation.setPrefHeight(270); apAutoRotation.setLayoutY(40); PaneOutil poAutoRotation = new PaneOutil(rbLocalisation.getString("main.autoTourRotation"), apAutoRotation, largeurOutil); setApAR(new AnchorPane(poAutoRotation.getApPaneOutil())); poAutoRotation.setbValide(isbAutoRotationDemarre() || isbAutoTourDemarre()); cbAutoRotationDemarrage = new CheckBox(rbLocalisation.getString("main.autoRotationDemarrage")); cbAutoRotationDemarrage.setSelected(false); cbAutoRotationDemarrage.setLayoutX(10); cbAutoRotationDemarrage.setLayoutY(10); Label lblVitesse = new Label(rbLocalisation.getString("main.autoRotationVitesse")); lblVitesse.setLayoutX(10); lblVitesse.setLayoutY(40); cbAutoRotationVitesse = new ComboBox(); cbAutoRotationVitesse.getItems().add(0, "10 " + rbLocalisation.getString("main.parTour")); cbAutoRotationVitesse.getItems().add(1, "20 " + rbLocalisation.getString("main.parTour")); cbAutoRotationVitesse.getItems().add(2, "30 " + rbLocalisation.getString("main.parTour")); cbAutoRotationVitesse.getItems().add(3, "Autre n " + rbLocalisation.getString("main.parTour")); cbAutoRotationVitesse.getSelectionModel().select(2); cbAutoRotationVitesse.setLayoutX(30); cbAutoRotationVitesse.setLayoutY(70); cbAutoRotationVitesse.setMaxWidth(170); bdfAutoRotationVitesse = new BigDecimalField(new BigDecimal(40)); bdfAutoRotationVitesse.setDisable(true); bdfAutoRotationVitesse.setLayoutX(210); bdfAutoRotationVitesse.setLayoutY(70); bdfAutoRotationVitesse.setMaxWidth(70); lblVitesse.disableProperty().bind(cbAutoRotationDemarrage.selectedProperty().not()); cbAutoRotationVitesse.disableProperty().bind(cbAutoRotationDemarrage.selectedProperty().not()); Label lblUnites = new Label(rbLocalisation.getString("main.parTour")); lblUnites.setLayoutX(290); lblUnites.setLayoutY(75); Separator spAutotour = new Separator(Orientation.HORIZONTAL); spAutotour.setLayoutX(0); spAutotour.setLayoutY(100); spAutotour.setMinWidth(380); cbAutoTourDemarrage = new CheckBox(rbLocalisation.getString("main.autoTour")); cbAutoTourDemarrage.setSelected(false); cbAutoTourDemarrage.setLayoutX(10); cbAutoTourDemarrage.setLayoutY(120); Label lblDemarrageAutoTour = new Label(rbLocalisation.getString("main.autoTourDemarrage")); lblDemarrageAutoTour.setLayoutX(10); lblDemarrageAutoTour.setLayoutY(150); bdfAutoTourDemarrage = new BigDecimalField(new BigDecimal(1)); bdfAutoTourDemarrage.setLayoutX(240); bdfAutoTourDemarrage.setLayoutY(180); bdfAutoTourDemarrage.setMaxWidth(70); Label lblVitesseAutoTour = new Label(rbLocalisation.getString("main.autoTourChange")); lblVitesseAutoTour.setLayoutX(10); lblVitesseAutoTour.setLayoutY(210); cbAutoTourType = new ComboBox(); cbAutoTourType.getItems().add(rbLocalisation.getString("main.nTours")); cbAutoTourType.getItems().add(rbLocalisation.getString("main.nSecondes")); cbAutoTourType.getSelectionModel().select(1); cbAutoTourType.setLayoutX(30); cbAutoTourType.setLayoutY(240); cbAutoTourType.setMaxWidth(140); bdfAutoTourLimite = new BigDecimalField(new BigDecimal(1)); bdfAutoTourLimite.setLayoutX(240); bdfAutoTourLimite.setLayoutY(240); bdfAutoTourLimite.setMaxWidth(70); Label lblN = new Label("n="); lblN.setLayoutX(210); lblN.setLayoutY(245); cbAutoTourType.disableProperty().bind(cbAutoTourDemarrage.selectedProperty().not()); bdfAutoTourLimite.disableProperty().bind(cbAutoTourDemarrage.selectedProperty().not()); cbAutoRotationVitesse.getSelectionModel().selectedIndexProperty().addListener((ov, av, nv) -> { if (cbAutoRotationVitesse.getSelectionModel().getSelectedIndex() == 3) { bdfAutoRotationVitesse.setDisable(false); setiAutoRotationVitesse(bdfAutoRotationVitesse.getNumber().toBigInteger().intValue()); } else { bdfAutoRotationVitesse.setDisable(true); setiAutoRotationVitesse(10 * (cbAutoRotationVitesse.getSelectionModel().getSelectedIndex() + 1)); } }); cbIntroPetitePlanete.selectedProperty().addListener((ov, av, nv) -> { setbIntroPetitePlanete(nv); poParametresVisite.setbValide(isbIntroPetitePlanete()); }); cbAutoRotationDemarrage.selectedProperty().addListener((ov, av, nv) -> { setbAutoRotationDemarre(nv); poAutoRotation.setbValide(isbAutoRotationDemarre() || isbAutoTourDemarre()); }); bdfAutoRotationVitesse.numberProperty().addListener((ov, av, nv) -> { setiAutoRotationVitesse(nv.toBigInteger().intValue()); }); cbAutoTourType.getSelectionModel().selectedIndexProperty().addListener((ov, av, nv) -> { if (cbAutoTourType.getSelectionModel().getSelectedIndex() == 0) { setStrAutoTourType("tours"); } else { setStrAutoTourType("secondes"); } }); cbAutoTourDemarrage.selectedProperty().addListener((ov, av, nv) -> { setbAutoTourDemarre(nv); poAutoRotation.setbValide(isbAutoRotationDemarre() || isbAutoTourDemarre()); getGestionnaireInterface().getApBtnVA().setDisable(!nv); }); bdfAutoTourLimite.numberProperty().addListener((ov, av, nv) -> { setiAutoTourLimite(nv.toBigInteger().intValue()); }); bdfAutoTourDemarrage.numberProperty().addListener((ov, av, nv) -> { setiAutoTourDemarrage(nv.toBigInteger().intValue()); }); apAutoRotation.getChildren().addAll(cbAutoRotationDemarrage, lblVitesse, cbAutoRotationVitesse, bdfAutoRotationVitesse, lblUnites, spAutotour, cbAutoTourDemarrage, lblDemarrageAutoTour, bdfAutoTourDemarrage, lblVitesseAutoTour, cbAutoTourType, lblN, bdfAutoTourLimite); AnchorPane apParametresPano = new AnchorPane(); apParametresPano.setPrefHeight(340); apParametresPano.setLayoutY(40); ImageView ivSupprPanoramique = new ImageView( new Image("file:" + getStrRepertAppli() + File.separator + "images/suppr.png", 48, 48, true, true)); ImageView ivModifPanoramique = new ImageView(new Image( "file:" + getStrRepertAppli() + File.separator + "images/modifie.png", 48, 48, true, true)); Button btnSupprimePano = new Button(rbLocalisation.getString("main.supprimePanoCourant"), ivSupprPanoramique); btnSupprimePano.setLayoutX(190); btnSupprimePano.setLayoutY(70); btnSupprimePano.setPrefSize(160, 60); btnSupprimePano.setMinSize(160, 60); btnSupprimePano.setMaxSize(160, 60); btnSupprimePano.setWrapText(true); btnSupprimePano.setOnAction((e) -> { retirePanoCourant(); }); Button btnModifiePano = new Button(rbLocalisation.getString("main.modifiePanoCourant"), ivModifPanoramique); btnModifiePano.setLayoutX(20); btnModifiePano.setLayoutY(70); btnModifiePano.setPrefSize(160, 60); btnModifiePano.setMinSize(160, 60); btnModifiePano.setMaxSize(160, 60); btnModifiePano.setWrapText(true); btnModifiePano.setOnAction((e) -> { String strRepertPano = getPanoramiquesProjet()[getiPanoActuel()].getStrNomFichier().substring(0, getPanoramiquesProjet()[getiPanoActuel()].getStrNomFichier().lastIndexOf(File.separator)); FileChooser fileChooser = new FileChooser(); FileChooser.ExtensionFilter extFilterImage = new FileChooser.ExtensionFilter( "Fichiers Image (JPG,BMP,TIFF)", "*.jpg", "*.bmp", "*.tif"); FileChooser.ExtensionFilter extFilterJpeg = new FileChooser.ExtensionFilter("Fichiers JPEG (*.jpg)", "*.jpg"); FileChooser.ExtensionFilter extFilterBmp = new FileChooser.ExtensionFilter("Fichiers BMP (*.bmp)", "*.bmp"); FileChooser.ExtensionFilter extFilterTiff = new FileChooser.ExtensionFilter("Fichiers TIFF (*.tif)", "*.tif"); File fileRepert = new File(strRepertPano + File.separator); fileChooser.setInitialDirectory(fileRepert); fileChooser.getExtensionFilters().addAll(extFilterJpeg, extFilterTiff, extFilterBmp, extFilterImage); File filePano = fileChooser.showOpenDialog(null); if (filePano != null) { setbDejaSauve(false); getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *"); String strFilePano = filePano.getAbsolutePath(); String strExtension = strFilePano.substring(strFilePano.length() - 3, strFilePano.length()); Image imgPano = null; if ("tif".equals(strExtension)) { try { imgPano = ReadWriteImage.readTiff(strFilePano); } catch (IOException | ImageReadException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } } else { imgPano = new Image("file:" + strFilePano); } if (imgPano != null) { if (imgPano.getWidth() == imgPano.getHeight()) { try { rechargePanoramiqueProjet(strFilePano, Panoramique.CUBE); } catch (InterruptedException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } } else { try { rechargePanoramiqueProjet(strFilePano, Panoramique.SPHERE); } catch (InterruptedException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } } affichePanoChoisit(getiPanoActuel()); if (apListePanoTriable != null) { apParametresVisite.getChildren().remove(apListePanoTriable); } ordPano.rafraichitListe(); ordPano.ajouteNouveauxPanos(); apListePanoTriable = ordPano.getApListePanoramiques(); apListePanoTriable.setMaxHeight(apListePanoTriable.getPrefHeight()); apListePanoTriable.setMinHeight(apListePanoTriable.getPrefHeight()); apListePanoTriable.setVisible(true); apParametresVisite.getChildren().remove(apListePanoTriable); apParametresVisite.getChildren().add(apListePanoTriable); apListePanoTriable.setLayoutX(40); apListePanoTriable.setLayoutY(130); apParametresVisite.setPrefHeight(120 + apListePanoTriable.getPrefHeight() + 20); if (apParametresVisite.isVisible()) { apParametresVisite.setMinHeight(120 + apListePanoTriable.getPrefHeight() + 20); apParametresVisite.setMaxHeight(120 + apListePanoTriable.getPrefHeight() + 20); } rafraichitListePano(); } } }); Label lblTitrePano = new Label(rbLocalisation.getString("main.titrePano")); lblTitrePano.setStyle("-fx-font-size : 1em;"); lblTitrePano.setPadding(new Insets(5, 5, 5, 0)); lblTitrePano.setLayoutX(10); lblTitrePano.setLayoutY(10); tfTitrePano = new TextField(); tfTitrePano.setId("txttitrepano"); tfTitrePano.setPrefSize(220, 25); tfTitrePano.setMaxSize(250, 25); tfTitrePano.setLayoutX(60); tfTitrePano.setLayoutY(40); tfTitrePano.textProperty().addListener((final ObservableValue<? extends String> observable, final String oldValue, final String newValue) -> { clickBtnValidePano(); }); slMinLat = new Slider(-90, -45, -90); slMinLat.setDisable(true); slMaxLat = new Slider(45, 90, 90); slMaxLat.setDisable(true); cbMinLat = new CheckBox(rbLocalisation.getString("main.blocageNadir")); cbMaxLat = new CheckBox(rbLocalisation.getString("main.blocageZenith")); slMinFov = new Slider(5, 70, 12); slMaxFov = new Slider(5, 70, 70); Label lblMinFov = new Label("min. hFOV : 12"); Label lblMaxFov = new Label("max. hFOV : 70"); slMinLat.disableProperty().bind(cbMinLat.selectedProperty().not()); slMaxLat.disableProperty().bind(cbMaxLat.selectedProperty().not()); slMinLat.setLayoutX(10); slMinLat.setLayoutY(160); cbMinLat.setLayoutX(190); cbMinLat.setLayoutY(160); slMaxLat.setLayoutX(10); slMaxLat.setLayoutY(190); cbMaxLat.setLayoutX(190); cbMaxLat.setLayoutY(190); slMinFov.setLayoutX(10); slMinFov.setLayoutY(220); lblMinFov.setLayoutX(190); lblMinFov.setLayoutY(220); slMaxFov.setLayoutX(10); slMaxFov.setLayoutY(250); lblMaxFov.setLayoutX(190); lblMaxFov.setLayoutY(250); Button btnBlocage = new Button(rbLocalisation.getString("main.blocage")); btnBlocage.setLayoutX(190); btnBlocage.setLayoutY(300); ligNadir = new Line(); ligNadir.setVisible(false); ligNadir.setStroke(Color.YELLOW); ligNadir.setStrokeWidth(2); ligZenith = new Line(); ligZenith.setVisible(false); ligZenith.setStroke(Color.YELLOW); ligZenith.setStrokeWidth(2); ligNadir.visibleProperty().bind(cbMinLat.selectedProperty()); ligZenith.visibleProperty().bind(cbMaxLat.selectedProperty()); slMinFov.valueProperty().addListener((observableValue, oldValue, newValue) -> { setbDejaSauve(false); getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *"); getPanoramiquesProjet()[iPanoActuel].setFovMin((double) newValue); double val1 = Math.round((double) newValue * 10) / 10; lblMinFov.setText("min. FOV : " + val1 + ""); slMaxFov.setMin(val1); navigateurPanoramique.setMinFov(val1); if (navigateurPanoramique.getFov() < val1) { navigateurPanoramique.setFov(val1); } if (navigateurPanoramique.getChoixFov() < val1) { navigateurPanoramique.setChoixFov(val1); } }); slMaxFov.valueProperty().addListener((observableValue, oldValue, newValue) -> { setbDejaSauve(false); getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *"); getPanoramiquesProjet()[iPanoActuel].setFovMax((double) newValue); double val1 = Math.round((double) newValue * 10) / 10; lblMaxFov.setText("max. FOV : " + val1 + ""); slMinFov.setMax(val1); navigateurPanoramique.setMaxFov(val1); if (navigateurPanoramique.getFov() > val1) { navigateurPanoramique.setFov(val1); } if (navigateurPanoramique.getChoixFov() > val1) { navigateurPanoramique.setChoixFov(val1); } }); slMinLat.valueProperty().addListener((observableValue, oldValue, newValue) -> { setbDejaSauve(false); getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *"); double largeurImage1 = panePanoramique.getPrefWidth(); double X11 = ivImagePanoramique.getLayoutX(); double Y1 = (90.0d - (double) newValue) * largeurImage1 / 360.0d; ligNadir.setStartX(X11); ligNadir.setStartY(Y1); ligNadir.setEndX(X11 + largeurImage1); ligNadir.setEndY(Y1); getPanoramiquesProjet()[iPanoActuel].setMinLat((double) newValue); }); slMaxLat.valueProperty().addListener((observableValue, oldValue, newValue) -> { setbDejaSauve(false); getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *"); double largeurImage1 = panePanoramique.getPrefWidth(); double X11 = ivImagePanoramique.getLayoutX(); double Y1 = (90.0d - (double) newValue) * largeurImage1 / 360.0d; ligZenith.setStartX(X11); ligZenith.setStartY(Y1); ligZenith.setEndX(X11 + largeurImage1); ligZenith.setEndY(Y1); getPanoramiquesProjet()[iPanoActuel].setMaxLat((double) newValue); }); cbMinLat.selectedProperty().addListener((ov, av, nv) -> { setbDejaSauve(false); getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *"); double largeurImage1 = panePanoramique.getPrefWidth(); double X11 = ivImagePanoramique.getLayoutX(); double Y1 = (90.0d - (double) slMinLat.getValue()) * largeurImage1 / 360.0d; ligNadir.setStartX(X11); ligNadir.setStartY(Y1); ligNadir.setEndX(X11 + largeurImage1); ligNadir.setEndY(Y1); getPanoramiquesProjet()[iPanoActuel].setbMinLat(nv); }); cbMaxLat.selectedProperty().addListener((ov, av, nv) -> { setbDejaSauve(false); getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *"); double largeurImage1 = panePanoramique.getPrefWidth(); double X11 = ivImagePanoramique.getLayoutX(); double Y1 = (90.0d - (double) (double) slMaxLat.getValue()) * largeurImage1 / 360.0d; ligZenith.setStartX(X11); ligZenith.setStartY(Y1); ligZenith.setEndX(X11 + largeurImage1); ligZenith.setEndY(Y1); getPanoramiquesProjet()[iPanoActuel].setbMaxLat(nv); }); btnBlocage.setOnAction((e) -> { setbDejaSauve(false); getStPrincipal().setTitle(getStPrincipal().getTitle().replace(" *", "") + " *"); for (int i = 0; i < iNombrePanoramiques; i++) { getPanoramiquesProjet()[i].setbMaxLat(getPanoramiquesProjet()[iPanoActuel].isbMaxLat()); getPanoramiquesProjet()[i].setbMinLat(getPanoramiquesProjet()[iPanoActuel].isbMinLat()); getPanoramiquesProjet()[i].setMaxLat(getPanoramiquesProjet()[iPanoActuel].getMaxLat()); getPanoramiquesProjet()[i].setMinLat(getPanoramiquesProjet()[iPanoActuel].getMinLat()); getPanoramiquesProjet()[i].setFovMax(getPanoramiquesProjet()[iPanoActuel].getFovMax()); getPanoramiquesProjet()[i].setFovMin(getPanoramiquesProjet()[iPanoActuel].getFovMin()); } }); apParametresPano.getChildren().addAll(btnModifiePano, btnSupprimePano, lblTitrePano, tfTitrePano, slMaxLat, cbMaxLat, slMinLat, cbMinLat, slMinFov, lblMinFov, slMaxFov, lblMaxFov, btnBlocage); setApPPAN(new AnchorPane( new PaneOutil(true, rbLocalisation.getString("main.parametresPano"), apParametresPano, largeurOutil) .getApPaneOutil())); setApGEO(new AnchorPane()); apOpenLayers = new AnchorPane(); apOpenLayers.setVisible(false); if (isbInternet()) { navigateurOpenLayers = new NavigateurOpenLayers(); navigateurOpenLayers.setBingApiKey(getStrBingAPIKey()); tfLongitude = new TextField(); tfLatitude = new TextField(); apOpenLayers = navigateurOpenLayers.afficheNavigateurOpenLayer(tfLongitude, tfLatitude, true); apOpenLayers.setPrefSize(800, 600); Button btnGeolocalise = new Button(rbLocalisation.getString("main.geolocalisation")); btnGeolocalise.setLayoutX(10); btnGeolocalise.setLayoutY(25); btnGeolocalise.setPrefWidth(120); btnGeolocalise.setOnAction((e) -> { navigateurOpenLayers.retireMarqueur(0); if (navigateurOpenLayers.getBingApiKey().equals("")) { navigateurOpenLayers.afficheCartesOpenlayer(); } else { navigateurOpenLayers.valideBingApiKey(navigateurOpenLayers.getBingApiKey()); } if (panoramiquesProjet[getiPanoActuel()].getMarqueurGeolocatisation() != null) { navigateurOpenLayers.allerCoordonnees( panoramiquesProjet[getiPanoActuel()].getMarqueurGeolocatisation(), 17); navigateurOpenLayers .setMarqueur(panoramiquesProjet[getiPanoActuel()].getMarqueurGeolocatisation()); String strFichierPano = getPanoramiquesProjet()[getiPanoActuel()].getStrNomFichier() .substring( getPanoramiquesProjet()[getiPanoActuel()].getStrNomFichier() .lastIndexOf(File.separator) + 1, getPanoramiquesProjet()[getiPanoActuel()].getStrNomFichier().length()) .split("\\.")[0]; String strHTML = "<span style='font-family : Verdana,Arial,sans-serif;font-weight:bold;font-size : 12px;'>" + getPanoramiquesProjet()[getiPanoActuel()].getStrTitrePanoramique() + "</span><br/>" + "<span style='font-family : Verdana,Arial,sans-serif;bold;font-size : 10px;'>" + strFichierPano + "</span>"; strHTML = strHTML.replace("\\", "/"); navigateurOpenLayers.ajouteMarqueur(0, panoramiquesProjet[getiPanoActuel()].getMarqueurGeolocatisation(), strHTML); } apOpenLayers.setVisible(true); }); tfLatitude.setLayoutX(140); tfLatitude.setLayoutY(10); tfLongitude.setLayoutX(140); tfLongitude.setLayoutY(40); apOpenLayers.setLayoutX(200); apOpenLayers.setLayoutY(150); apOpenLayers.setVisible(false); AnchorPane apGeolocalise = new AnchorPane(); apGeolocalise.setPrefHeight(75); apGeolocalise.getChildren().addAll(btnGeolocalise, tfLatitude, tfLongitude); apGeolocalise.setLayoutX(10); apGeolocalise.setLayoutY(40); setPoGeolocalisation( new PaneOutil(rbLocalisation.getString("main.geolocalisation"), apGeolocalise, largeurOutil)); setApGEO(new AnchorPane(getPoGeolocalisation().getApPaneOutil())); apOpenLayers.setLayoutX((iLargeur - apOpenLayers.getPrefWidth()) / 2); apOpenLayers.setLayoutY((iHauteur - apOpenLayers.getPrefHeight()) / 2); apOpenLayers.visibleProperty().addListener((ov, av, nv) -> { mbarPrincipal.setDisable(nv); hbBarreBouton.setDisable(nv); tpEnvironnement.setDisable(nv); }); } apVisuPanoramique.setLayoutY(40); apVisuPanoramique.setPrefWidth(340); apVisuPanoramique.setPrefHeight(295); setApVISU(new AnchorPane( new PaneOutil(true, rbLocalisation.getString("main.visualisation"), apVisuPanoramique, largeurOutil) .getApPaneOutil())); vbVisuHotspots = new VBox(); apVisuHS = new AnchorPane(vbVisuHotspots); apVisuHS.setLayoutY(40); apHS1 = new PaneOutil(true, "Hotspots", apVisuHS, largeurOutil); setApHS(new AnchorPane(apHS1.getApPaneOutil())); getVbChoixPanoramique().getChildren().addAll(getApPVIS(), getApAR(), getApPPAN(), getApGEO(), getApVISU(), getApHS()); getVbChoixPanoramique().setSpacing(-5); vbOutils.getChildren().addAll(getVbChoixPanoramique()); getVbChoixPanoramique().setVisible(false); /* Cration du panneau d'info du panoramique */ spVuePanoramique = new ScrollPane(); hbCoordonnees = new HBox(); panePanoramique = new Pane(); apPanneauPrincipal = new AnchorPane(); lblLong = new Label(""); lblLat = new Label(""); ivImagePanoramique = new ImageView(); stPrimaryStage.setScene(getScnPrincipale()); /** * */ spVuePanoramique.setPrefSize(iLargeur - largeurOutils - 20, iHauteur - 110); spVuePanoramique.setMaxSize(iLargeur - largeurOutils - 20, iHauteur - 110); spVuePanoramique.setVbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); spVuePanoramique.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); spVuePanoramique.setTranslateY(5); /** * */ AnchorPane apPanneauOutils = new AnchorPane(); apPanneauOutils.getChildren().addAll(spPanneauOutils); apPanneauOutils.setTranslateY(3); apPanneauOutils.setTranslateX(20); spPanneauOutils.setContent(vbOutils); spPanneauOutils.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED); spPanneauOutils.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); spPanneauOutils.setPrefSize(largeurOutils, iHauteur - 112); spPanneauOutils.setMaxWidth(largeurOutils); spPanneauOutils.setMaxHeight(iHauteur - 112); spPanneauOutils.setLayoutY(0); spPanneauOutils.setLayoutX(0); /** * */ panePanoramique.setCursor(Cursor.CROSSHAIR); vbOutils.setPrefWidth(largeurOutils - 20); vbOutils.minHeight(iHauteur - 110); vbOutils.setLayoutX(3); lblLong.setPrefSize(100, 15); lblLat.setPrefSize(100, 15); lblLat.setTranslateX(50); apPanneauPrincipal.setPrefSize(iLargeur - largeurOutils - 20, iHauteur - 110); apListeImagesPanoramiques = new AnchorPane(); apListeImagesPanoramiques.setPrefWidth(iLargeurVignettes + 40); apListeImagesPanoramiques.setMinWidth(iLargeurVignettes + 40); apListeImagesPanoramiques.setMaxWidth(iLargeurVignettes + 40); apListeImagesPanoramiques.setPrefHeight(iHauteur - 140); apListeImagesPanoramiques.setLayoutX(-iLargeurVignettes - 30); apListeImagesPanoramiques.setLayoutY(0); apListeImagesPanoramiques.setStyle("-fx-background-color :rgba(0,0,0,0);"); apListeImagesPanoramiques.setOnMouseEntered((e) -> { apListeImagesPanoramiques.setLayoutX(0); }); apListeImagesPanoramiques.setOnMouseExited((e) -> { apListeImagesPanoramiques.setLayoutX(-iLargeurVignettes - 30); }); Label lblVignettes = new Label(rbLocalisation.getString("main.vignettes")); lblVignettes.setPrefSize(70, 20); lblVignettes.setTextAlignment(TextAlignment.CENTER); lblVignettes.setStyle("-fx-background-color:-fx-base;" + "-fx-border-color: derive(-fx-base,10%);" + "-fx-border-width: 1px;"); lblVignettes.setTranslateX(-lblVignettes.getPrefWidth() / 2 + lblVignettes.getPrefHeight() / 2); lblVignettes.setTranslateY(lblVignettes.getPrefWidth() / 2 - lblVignettes.getPrefHeight() / 2); lblVignettes.setRotate(270); lblVignettes.setLayoutX(iLargeurVignettes + 30); apVignettesPano = new AnchorPane(); apVignettesPano.setPrefWidth(iLargeurVignettes + 10); apVignettesPano.setMinHeight(iHauteur - 140); apVignettesPano.setStyle("-fx-background-color:-fx-base;"); rectVignettePano = new Rectangle(0, 0, iLargeurVignettes, iLargeurVignettes / 2.d); rectVignettePano.setLayoutX(5); rectVignettePano.setLayoutY(10); rectVignettePano.setFill(Color.web("#fff", 0.5)); rectVignettePano.setStroke(Color.WHITE); rectVignettePano.setStrokeWidth(2.0); rectVignettePano.setVisible(false); apVignettesPano.getChildren().add(rectVignettePano); ScrollPane spListeImagesPanoramiques = new ScrollPane(apVignettesPano); spListeImagesPanoramiques.setPrefWidth(iLargeurVignettes + 30); spListeImagesPanoramiques.setPrefHeight(iHauteur - 130); spListeImagesPanoramiques.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED); spListeImagesPanoramiques .setStyle("-fx-background-color:-fx-base;" + "-fx-border-color: derive(-fx-base,10%);" + "-fx-effect: dropshadow( three-pass-box , rgba(0,0,0,0.2) , 8, 0.0 , 0 , 8 );" + "-fx-border-width: 1px;"); apListeImagesPanoramiques.getChildren().addAll(spListeImagesPanoramiques, lblVignettes); ivImagePanoramique.setCache(true); largeur = largeurMax - 60; ivImagePanoramique.setFitWidth(largeur); ivImagePanoramique.setFitHeight(largeur / 2.0d); ivImagePanoramique.setLayoutX((largeurMax - largeur) / 2.d); panePanoramique.getChildren().add(ivImagePanoramique); panePanoramique.setPrefSize(ivImagePanoramique.getFitWidth(), ivImagePanoramique.getFitHeight()); panePanoramique.setMaxSize(ivImagePanoramique.getFitWidth(), ivImagePanoramique.getFitHeight()); panePanoramique.setLayoutY(20); lblLong.setTranslateX(50); lblLat.setTranslateX(80); hbCoordonnees.getChildren().setAll(lblLong, lblLat); spVuePanoramique.setContent(apPanneauPrincipal); hbEnvironnement.getChildren().setAll(spVuePanoramique, apPanneauOutils); apEnvironnement = new AnchorPane(); setApAttends(new AnchorPane()); getApAttends().setPrefHeight(250); getApAttends().setPrefWidth(600); getApAttends().setMaxWidth(600); getApAttends().setStyle("-fx-background-color : -fx-base;" + "-fx-border-color: derive(-fx-base,10%);" + "-fx-effect: dropshadow( three-pass-box , rgba(0,0,0,0.5) , 8, 0.0 , 0 , 8 );" + "-fx-border-width: 1px;"); getApAttends().setLayoutX((iLargeur - getApAttends().getPrefWidth()) / 2.d); getApAttends().setLayoutY((iHauteur - getApAttends().getPrefHeight()) / 2.d - 55); pbarAvanceChargement = new ProgressBar(); pbarAvanceChargement.setPrefSize(400, 30); pbarAvanceChargement.setLayoutX((getApAttends().getPrefWidth() - pbarAvanceChargement.getPrefWidth()) / 2); pbarAvanceChargement.setLayoutY(70); Label lblAttends = new Label(rbLocalisation.getString("main.attendsChargement")); lblAttends.setMinWidth(600); lblAttends.setAlignment(Pos.CENTER); lblAttends.setStyle("-fx-background-color : #777;"); lblAttends.setTextFill(Color.WHITE); lblAttends.setLayoutY(5); lblAttends.setFont(Font.font(14)); lblCharge = new Label(); lblCharge.setMinWidth(600); lblCharge.setLayoutY(150); lblCharge.setAlignment(Pos.CENTER); lblNiveaux = new Label(); lblNiveaux.setMinWidth(600); lblNiveaux.setLayoutY(180); lblNiveaux.setAlignment(Pos.CENTER); getApAttends().getChildren().addAll(lblAttends, pbarAvanceChargement, lblCharge, lblNiveaux); getApAttends().setVisible(false); apEnvironnement.getChildren().addAll(tpEnvironnement, getApAttends()); if (isMac()) { apEnvironnement.setTranslateY(-30); } vbRacine.getChildren().addAll(apEnvironnement); apPanneauPrincipal.getChildren().setAll(hbCoordonnees, panePanoramique); stPrimaryStage.show(); popUp.affichePopup(); lblDragDrop = new Label(rbLocalisation.getString("main.dragDrop")); lblDragDrop.setMinHeight(spVuePanoramique.getPrefHeight()); lblDragDrop.setMaxHeight(spVuePanoramique.getPrefHeight()); lblDragDrop.setMinWidth(spVuePanoramique.getPrefWidth()); lblDragDrop.setMaxWidth(spVuePanoramique.getPrefWidth()); lblDragDrop.setAlignment(Pos.CENTER); lblDragDrop.setTextFill(Color.web("#c9c7c7")); lblDragDrop.setTextAlignment(TextAlignment.CENTER); lblDragDrop.setWrapText(true); lblDragDrop.setStyle("-fx-font-size:72px"); lblDragDrop.setTranslateY(-100); apLoupe.setLayoutX(35); apLoupe.setLayoutY(35); apLoupe.setVisible(false); apPanneauPrincipal.getChildren().addAll(lblDragDrop, spAfficheLegende(), apLoupe, apListeImagesPanoramiques); apCreationBarre = new AnchorPane(); apCreationBarre.setVisible(false); apCreationDiaporama = new AnchorPane(); apCreationDiaporama.setVisible(false); apEnvironnement.getChildren().addAll(apCreationBarre, apCreationDiaporama, apOpenLayers); }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @return//w ww . j ava 2 s.co m */ private static ScrollPane spAfficheLegende() { double positionX; double positionY; AnchorPane apLegende = new AnchorPane(); ScrollPane spLegende = new ScrollPane(apLegende); spLegende.getStyleClass().add("legendePane"); apLegende.setMinWidth(1000); apLegende.setMinHeight(150); apLegende.setPrefWidth(1000); apLegende.setPrefHeight(150); apLegende.setMaxWidth(1000); apLegende.setMaxHeight(150); positionY = (spVuePanoramique.getPrefHeight() - apLegende.getPrefHeight() - 15); Circle circPoint = new Circle(30, 20, 5); circPoint.setFill(Color.YELLOW); circPoint.setStroke(Color.RED); circPoint.setCursor(Cursor.DEFAULT); Circle circPoint2 = new Circle(30, 40, 5); circPoint2.setFill(Color.BLUE); circPoint2.setStroke(Color.YELLOW); circPoint2.setCursor(Cursor.DEFAULT); Circle circPoint3 = new Circle(30, 60, 5); circPoint3.setFill(Color.GREEN); circPoint3.setStroke(Color.YELLOW); circPoint3.setCursor(Cursor.DEFAULT); Polygon polygonCroix = new Polygon(); polygonCroix.getPoints().addAll(new Double[] { 15.0, 2.0, 2.0, 2.0, 2.0, 15.0, -2.0, 15.0, -2.0, 2.0, -15.0, 2.0, -15.0, -2.0, -2.0, -2.0, -2.0, -15.0, 2.0, -15.0, 2.0, -2.0, 15.0, -2.0 }); polygonCroix.setStrokeLineJoin(StrokeLineJoin.MITER); polygonCroix.setFill(Color.BLUEVIOLET); polygonCroix.setStroke(Color.YELLOW); polygonCroix.setId("PoV"); polygonCroix.setLayoutX(500); polygonCroix.setLayoutY(20); Label lblHS = new Label(rbLocalisation.getString("main.legendeHS")); Label lblHSImage = new Label(rbLocalisation.getString("main.legendeHSImage")); Label lblHSHTML = new Label(rbLocalisation.getString("main.legendeHSHTML")); Label lblPoV = new Label(rbLocalisation.getString("main.legendePoV")); Label lblNord = new Label(rbLocalisation.getString("main.legendeNord")); Line lineNord = new Line(500, 45, 500, 65); lineNord.setStroke(Color.RED); lineNord.setStrokeWidth(3); lblHS.setLayoutX(50); lblHS.setLayoutY(15); lblHSImage.setLayoutX(50); lblHSImage.setLayoutY(35); lblHSHTML.setLayoutX(50); lblHSHTML.setLayoutY(55); lblPoV.setLayoutX(520); lblPoV.setLayoutY(15); lblNord.setLayoutX(520); lblNord.setLayoutY(55); apLegende.getChildren().addAll(lblHS, circPoint, lblHSImage, circPoint2, lblHSHTML, circPoint3, lblPoV, polygonCroix, lblNord, lineNord); apLegende.setId("legende"); apLegende.setVisible(true); if (largeurMax - 50 < 1004) { spLegende.setPrefWidth(largeurMax - 50); spLegende.setMaxWidth(largeurMax - 50); positionX = 25; } else { spLegende.setPrefWidth(1004); spLegende.setMaxWidth(1004); positionX = (largeurMax - 1004) / 2.d; } spLegende.setLayoutX(positionX); spLegende.setLayoutY(positionY); spLegende.setVbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); spLegende.setHbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED); return spLegende; }