Bonsoir je suis débutante en javaFX et mon problème c'est d'ajouter le nom de l'image qu'on ajouter avec la methode openImage dans notre scene (image+son nom) et plus ajouter un filtre pour qu'elle devient noir et blanc en la sauvegardent et merci d'avance

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
 
 
package tp2;
 
import java.io.File;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.event.Event;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.geometry.Rectangle2D;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
import javafx.scene.input.ScrollEvent;
import javafx.scene.layout.BorderPane;
import javafx.stage.FileChooser;
 
/**
 *
 * @author L540
 */
 
public class FXMLDocumentController  {
    private Image currentImage;
    private int currentRotation = 0;
 
    @FXML ImageView imageView;
    @FXML BorderPane borderPane;
 
    @FXML
    private Label label;
 
 
    private double zoomInMultiplier = 1.15;
    private double zoomOutMultiplier = 0.85;
 
 
      //Variables for mouse movement.
    private double mouseDragEnteredX;
    private double mouseDragEnteredY;
 
        private int rotateDegree = 30; //Degrees to rotate;
 
 
 
     @FXML public void openImage(Event event) {
        File file;
        FileChooser fileChooser = new FileChooser();
        file = fileChooser.showOpenDialog(null); //User selects file from explorer.
        currentRotation = 0; //new image will load in straight.
        imageView.setRotate(currentRotation);
        currentImage = new Image(file.toURI().toString());
        imageView.setImage(currentImage);
        imageView.setViewport(new Rectangle2D(0,0,currentImage.getWidth(), currentImage.getHeight()));
        imageView.setFitHeight(currentImage.getHeight());
        imageView.setFitWidth(currentImage.getWidth());
        TP2.getStage().setTitle(file.getName()); //sets filename as window title.
    }
 
      @FXML public void handleZoomIn(Event event) {
 
        imageView.setFitHeight(imageView.getFitHeight()*zoomInMultiplier);
        imageView.setFitWidth(imageView.getFitWidth()*zoomInMultiplier);
    }
 
    @FXML public void handleZoomOut(Event event) {
        imageView.setFitHeight(imageView.getFitHeight()*zoomOutMultiplier);
        imageView.setFitWidth(imageView.getFitWidth()*zoomOutMultiplier);
    }
 
 
 
 
 
    @FXML public void handleScrollOnImage(ScrollEvent event) {
        if(event.getDeltaY() > 0){ //scrolling forward
            handleZoomIn(event);
        }
        if(event.getDeltaY() < 0){//scrolling backward
            handleZoomOut(event);
        }
    }
 
    public void handleMouseDrag(MouseEvent event) {
        double changeX = -(mouseDragEnteredX- event.getSceneX());
        double changeY = -(mouseDragEnteredY- event.getSceneY());
        borderPane.getCenter().setTranslateX(changeX);
        borderPane.getCenter().setTranslateY(changeY);
    }
 
 
    @FXML public void handleDragEntered(MouseEvent event) {
        mouseDragEnteredX = event.getSceneX();
        mouseDragEnteredY = event.getSceneY();
    }  
 
    @FXML public void handleClickLeftRotate(Event event) {
        currentRotation += -rotateDegree;
        imageView.setRotate(currentRotation);
    }
 
 
    @FXML public void handleClickRightRotate(Event event) {
        currentRotation += rotateDegree;
        imageView.setRotate(currentRotation);
    }
    @FXML public void delete(Event event){
        imageView.imageProperty().set(null);
 
 
}
}