bonjour,
je veux afficher le centre d'un rectangle tracé a l'aide de souris.
j'ai implementé le code de tracage mais j'ai trouvé un pb d'affichage de centre
voila un portion de code.
merci de me repondre.
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
class Selection extends MouseAdapter implements MouseMotionListener {
// Premier point selectionné
int selx1;
int sely1;
// Deuxième point selectionné
int selx2;
int sely2;
// ةcoute des événements de souris
public void mousePressed(MouseEvent event) {
selx1 = selx2 = event.getX();
sely1 = sely2 = event.getY();
zoomButton.setEnabled(false);
repaint();
}
public void mouseDragged(MouseEvent event) {
selx2 = event.getX();
sely2 = event.getY();
zoomButton.setEnabled(selx1 != selx2 && sely1 != sely2);
repaint();
}
public void mouseMoved(MouseEvent event) {
}
// Retourne le rectangle qui délimite la zône selectionnée
// Ce rectangle utilise les coordonnées du JPanel en pixels.
Rectangle getRectangle() {
// Calcul du rectangle
int x = Math.min(selx1, selx2);
int y = Math.min(sely1, sely2);
int width = Math.abs(selx1 - selx2);
int height = Math.abs(sely1 - sely2);
return new Rectangle(x, y, width, height);
}
}
}
static class Zone {
private double x; // Absicsse du coin supérieur gauche
private double y; // Ordonnée du coin supérieur gauche
private double width; // Largeur
private double height; // Hauteur
Zone(double x, double y, double width, double height) {
this.x = x;
this.y = y;
this.width = width;
this.height = height;
}
double getX() { return x; }
double getY() { return y; }
double getWidth() { return width; }
double getHeight() { return height; }
}
}