Bonjour je selectionne une partie d'une image je suis censée afficher que cette partie dans une Jframe apart mais j'arrive pas j'aimerai bien avoir un coup de main
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
rotected void paintComponent(Graphics g)
    { 
            addMouseListener(this);
            addMouseMotionListener(this);
        super.paintComponent(g);
 
        if(monImage != null)
            g.drawImage(monImage,200,10,null);
 
        final Graphics2D g2 = (Graphics2D) g;
 
        if ( derniereSelection!=null ) {
                g2.setColor(Color.BLUE);
                g2.draw(derniereSelection); // dessine le rectangle
            }
        if (pmove != null && porig != null) {
            g2.setColor(Color.BLUE);
 
            // calcul de la selection
            final Rectangle rect = new Rectangle((pmove.x > porig.x) ? porig.x : pmove.x,
                            (pmove.y > porig.y) ? porig.y : pmove.y,
                            (pmove.x > porig.x) ? pmove.x - porig.x : porig.x
                                    - pmove.x, (pmove.y > porig.y) ? pmove.y
                                    - porig.y : porig.y - pmove.y);
            // dessine le fond de la selection avec un effet de transparence
            g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, .2f));
            g2.fillRect(rect.x, rect.y, rect.width, rect.height);
            // suppression de la transparence pour dessiner la bordure
            g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f));
            g2.drawRect(rect.x, rect.y, rect.width, rect.height);
 
 
        }
    }
 
    public void mousePressed(final MouseEvent e) {
        porig = e.getPoint(); // récupération du point d'origine
 
        // repaint du composant
        repaint();
    }
 
    public Rectangle getDerniereSelection() {
        return derniereSelection;
   }
 
    public void mouseReleased(final MouseEvent e) {
        // cleanup de l'affichage
        if (!Objects.equals(pmove,porig) ) { // on ne fait pas en cas de sélection vide (si les deux points sont les mêmes)
             Rectangle rectangle = new Rectangle();
             rectangle.setFrameFromDiagonal(porig,pmove); // on s'assure que le rectangle est correctement orienté en utilisant cette méthode
             derniereSelection = rectangle;
        }
        pmove = null;
        porig = null;
        // repaint du composant
        repaint();
    }
 
    public void mouseDragged(final MouseEvent e) {
        pmove = e.getPoint(); // récupération du point en déplacement
        // repaint du composant
        repaint();
    }
 
    public void mouseClicked(final MouseEvent e) { }
    public void mouseEntered(final MouseEvent e) { }
    public void mouseExited(final MouseEvent e) { }
    public void mouseMoved(final MouseEvent e) { }