List of usage examples for javafx.scene.control Button setOnMouseClicked
public final void setOnMouseClicked(EventHandler<? super MouseEvent> value)
From source file:ubicrypt.ui.ctrl.providers.ProvidersController.java
@Override public void initialize(URL url, ResourceBundle resourceBundle) { String fxml = substringBefore(substringAfterLast(url.getFile(), "/"), ".fxml"); navigator = new StackNavigator(root, fxml, controllerFactory); providers.setCellFactory(listView -> new ListCell<ProviderItem>() { @Override/*from w w w . j a va2 s . com*/ protected void updateItem(ProviderItem pi, boolean empty) { super.updateItem(pi, empty); if (empty) { setText(null); setGraphic(null); return; } setContextMenu(pi.getContextMenu()); Platform.runLater(() -> setGraphic(pi.getGraphics())); } }); providerDescriptors.stream().forEach(pd -> { Button button = new Button(); Image img = pd.getLogo().getImage(); ImageView view = new ImageView(img); view.setFitWidth(30.0); view.setPickOnBounds(true); view.setPreserveRatio(true); button.setGraphic(view); button.setOnMouseClicked(mouseEvent -> { log.debug("adding provider :{}", pd.getCode()); navigator.browse(format("provider/%s", pd.getCode())); }); button.setTooltip(new Tooltip("Add " + pd.getDescription())); availableProviders.getItems().add(button); }); //provider status events providerEvent.subscribe(pevent -> { UbiProvider provider = pevent.getHook().getProvider(); if (!providers.getItems().stream().filter(pi -> pi.getProvider().equals(provider)).findFirst() .isPresent()) { log.info("add new provider:{}", pevent.getHook().getProvider()); String code = providerDescriptors.stream().filter(pd -> pd.getType() == provider.getClass()) .map(ProviderDescriptor::getCode).findFirst().get(); final ProviderItem providerItem = new ProviderItem(provider, providerDescriptors.stream() .filter(pd -> pd.getType() == provider.getClass()).findFirst().get(), providerRemover, navigator); providers.getItems().add(providerItem); pevent.getHook().getStatusEvents().subscribe(providerItem::changeStatus); } switch (pevent.getEvent()) { case removed: //TODO: remove provider break; default: log.warn("unmanaged event:{}", pevent.getEvent()); } providers.getItems().stream().filter(pi -> pi.getProvider().equals(provider)).findFirst() .ifPresent(pi -> pi.changeStatus(pevent.getEvent())); }); }
From source file:dpfmanager.shell.interfaces.gui.fragment.wizard.Wizard1Fragment.java
private void addCheckBox(String id, String name, String path, boolean selected, boolean delete) { HBox hbox = new HBox(); hbox.setAlignment(Pos.CENTER_LEFT);//from w w w .j a va2 s . c o m CheckBox chk = new CheckBox(name); chk.setId(id); chk.getStyleClass().add("checkreport"); chk.setSelected(selected); chk.setEllipsisString(" ... "); chk.setTextOverrun(OverrunStyle.CENTER_ELLIPSIS); chk.setTooltip(new Tooltip(path)); hbox.getChildren().add(chk); // EDIT Button edit = new Button(); edit.getStyleClass().addAll("edit-img", "action-img-16"); edit.setCursor(Cursor.HAND); edit.setOnMouseClicked(new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { String iso = chk.getId(); String path = null; if (iso.startsWith("external")) { iso = chk.getText(); path = iso; } else if (chk.getId().startsWith("config")) { iso = chk.getId().replace("config", ""); path = DPFManagerProperties.getIsosDir() + "/" + iso; } controller.editIso(iso, path); } }); hbox.getChildren().add(edit); HBox.setMargin(edit, new Insets(0, 0, 0, 10)); // DELETE if (delete) { Button icon = new Button(); icon.getStyleClass().addAll("delete-img", "action-img-16"); icon.setCursor(Cursor.HAND); icon.setOnMouseClicked(new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { if (chk.getId().startsWith("external")) { // Only from gui vboxRadios.getChildren().remove(hbox); } else if (chk.getId().startsWith("config")) { // From system String name = chk.getId().replace("config", ""); File file = new File(DPFManagerProperties.getIsosDir() + "/" + name); if (file.exists() && file.isFile() && acceptDelete(file)) { file.delete(); vboxRadios.getChildren().remove(hbox); } } } }); hbox.getChildren().add(icon); HBox.setMargin(icon, new Insets(0, 0, 0, 10)); } vboxRadios.getChildren().add(hbox); }
From source file:dpfmanager.shell.interfaces.gui.component.report.ReportsView.java
public void addDeleteIcon() { colDelete.setCellFactory(new Callback<TableColumn<ReportRow, String>, TableCell<ReportRow, String>>() { @Override//from w w w . ja v a 2s . c o m public TableCell<ReportRow, String> call(TableColumn<ReportRow, String> param) { TableCell<ReportRow, String> cell = new TableCell<ReportRow, String>() { @Override public void updateItem(String item, boolean empty) { super.updateItem(item, empty); if (!empty && item != null) { String path = getModel().getItemById(item).getDeletePath(); HBox box = new HBox(); box.setSpacing(3); box.setAlignment(Pos.CENTER_LEFT); Button icon = new Button(); icon.setMinHeight(20); icon.setPrefHeight(20); icon.setMaxHeight(20); icon.setMinWidth(20); icon.setPrefWidth(20); icon.setMaxWidth(20); icon.getStyleClass().addAll("delete-img", "periodic-img"); icon.setCursor(Cursor.HAND); icon.setOnMouseClicked(new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { // Delete report File file = new File(path); File dir = new File(file.getParent()); try { FileUtils.deleteDirectory(dir); } catch (IOException e) { e.printStackTrace(); } getModel().removeItem(item); addData(); } }); box.getChildren().add(icon); setGraphic(box); } } }; return cell; } }); }
From source file:account.management.controller.NewVoucherController.java
@FXML private void onAddNewFieldButtonClick(ActionEvent event) { HBox row = new HBox(); row.setId("field_row"); ComboBox<Account> select_account = new ComboBox<>(); if (this.select_type.getSelectionModel().isEmpty()) { select_account.getItems().addAll(this.account_list); } else {/*from w ww. j a v a 2 s . c om*/ select_account.getItems().addAll(this.filter_acc); } TextField dr = new TextField(); TextField cr = new TextField(); TextField remarks = new TextField(); Button del_row = new Button("Delete"); row.setSpacing(field_row.getSpacing()); ComboBox<Account> combo = (ComboBox) field_row.getChildren().get(0); select_account.setPrefWidth(combo.getPrefWidth()); select_account.setPromptText("Select account"); TextField tf = (TextField) field_row.getChildren().get(1); dr.setPrefWidth(tf.getPrefWidth()); dr.setPromptText("Dr"); tf = (TextField) field_row.getChildren().get(2); cr.setPrefWidth(tf.getPrefWidth()); cr.setPromptText("Cr"); tf = (TextField) field_row.getChildren().get(3); remarks.setPrefWidth(tf.getPrefWidth()); remarks.setPromptText("remarks"); row.getChildren().addAll(select_account, dr, cr, remarks, del_row); field_container.getChildren().add(row); del_row.setOnMouseClicked((MouseEvent event1) -> { field_container.getChildren().removeAll(row); validateFields(); }); combo.setOnAction((e) -> { if (!combo.getSelectionModel().isEmpty() && combo.getSelectionModel().getSelectedItem().getId() == 21) { combo.setPromptText("Select Party"); combo.getItems().clear(); combo.getItems().addAll(this.filter_party_rec); } if (!combo.getSelectionModel().isEmpty() && combo.getSelectionModel().getSelectedItem().getId() == 34) { combo.getItems().clear(); combo.getItems().addAll(this.filter_party_pay); combo.setPromptText("Select Party"); } }); new AutoCompleteComboBoxListener<>(select_account); select_account.setOnHiding((e) -> { Account a = select_account.getSelectionModel().getSelectedItem(); select_account.setEditable(false); select_account.getSelectionModel().select(a); }); select_account.setOnShowing((e) -> { select_account.setEditable(true); }); validateFields(); }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @param iNumHS/* ww w . jav a 2 s .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
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);/* w w w.ja va2 s .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 ww .j av a 2 s . c om*/ */ 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 iLargeur/* w w w. ja va2 s. co 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); } }); }