package application; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.lang.*; /** * Définit un sommet graphique. */ public class SommetDessin { int couleur; String id; int x; int y; int princ; int intens; int second; int[] rvb = { 0, 0, 0 }; int intens2; /** * Constructeur d'un sommet */ public SommetDessin() { id = "0"; couleur = -1; x = 50; y = 50; } /** * Constructeur d'un sommet avec paramètres */ public SommetDessin(int i, int j, int c, int id) { couleur = c; x = i; y = j; this.id = new Integer(id).toString(); } /** * Calcul de la couleur RVB en fonction de la couleur (entier) */ public Color CalcCouleur() { rvb[0]=0; rvb[1]=0; rvb[2]=0; if (couleur == -1) return (new Color(255, 255, 255)); else { princ = couleur % 3; //calcul de place de la couleur principale intens = couleur / 6; rvb[princ] = 100 + Math.abs(255 - (50 * intens)) % 150; second = couleur % 2; //calcul couleur secondaire ou pas? if (second == 1) { intens2 = couleur / 12; rvb[((princ + 1) % 3)] = 100 + Math.abs(255 - (50 * intens)) % 150; } } return (new Color(rvb[0], rvb[1], rvb[2])); } public void paint(Graphics g) { g.setColor(CalcCouleur()); g.fillArc(x, y, 25, 25, 0, 360); g.setColor(Color.black); g.drawString(id, x + 10, y + 15); } }