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
| import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Polygon;
import javax.swing.JFrame;
public class CoordonneesClique extends JFrame
{
private Color jauneclair = new Color(255, 255, 212);
private static Font font10;
private int xClic, yClic;
public CoordonneesClique()
{
super("Cliquer et obtenir les coordonnées du clic");// titre
setSize(538, 770); // dimensions frame (redimensionnable par défaut)
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
addMouseListener(new Moustener());
}
public void paint(Graphics g)
{
super.paint(g);
// on dessine les coordonnées du clique en blanc dans un rectangle noir
Polygon rectangle2 = new Polygon(); // rectangle noir
rectangle2.addPoint(xClic -20, yClic -12); // point haut gauche
rectangle2.addPoint(xClic +22, yClic -12); // point haut droite
rectangle2.addPoint(xClic +22, yClic +14); // point bas droite
rectangle2.addPoint(xClic -20, yClic +14); // point bas gauche
g.setColor(Color.black); // fond du rectangle
g.fillPolygon(rectangle2); // remplissage
g.drawPolygon(rectangle2); // affichage
// dessin du graphique des coordonnées (en blanc)
g.setFont(font10);
g.setColor(Color.white);
g.drawString(Integer.toString(yClic), xClic -19, yClic +4); // val. y du clique
g.drawString(Integer.toString(xClic), xClic -3, yClic -4); // val. x du clique
// flecheAbscisses (x) sans la pointe
g.drawLine(xClic -2, yClic -1, xClic +18, yClic -1); // points x, y gauche... et droite
// pointe de cette fleche
g.drawLine(xClic +16, yClic -3, xClic +22, yClic -1); // points x, y gauche... et droite \
g.drawLine(xClic +16, yClic +2, xClic +22, yClic -1); // points x, y gauche... et droite /
// flecheOrdonnées (y) sans la pointe
g.drawLine(xClic, yClic -3, xClic, yClic +9); // points x, y haut... et bas
// pointe de cette fleche
g.drawLine(xClic -2, yClic +6, xClic, yClic +12); // points x, y haut... et bas \
g.drawLine(xClic +2, yClic +6, xClic, yClic +12); // points x, y haut... et bas /
}
public static void main(String[] args)
{
font10 = new Font("SansSerif", Font.BOLD, 10);
new CoordonneesClique();
}
private class Moustener extends MouseAdapter // import java.awt.event.MouseAdapter
{
public void mouseClicked(MouseEvent evt)
{
xClic = evt.getX();
yClic = evt.getY();
System.out.println("x " + xClic);
System.out.println("y " + yClic);
repaint(); //affichera les coordonnées dans un petit graphique à l'endroit du clic
}
}
} |
Partager