|
Mise en page (3)Appliquons maintenant ces mécanismes de mise en page à notre applet :
import java.applet.*;
import java.awt.*; public class applet22 extends Applet { int abscisse = 0; int ordonnee = 0; int compteur = 0; int R = 0; int G = 0; int B = 0; int i = 0; Carre2 [] tabCarre = new Carre2[216]; boolean dedans; String t = new String(""); String u = new String(""); TextField T = new TextField(t, 10); TextField U = new TextField(t, 10); Panel MonPanneau = new Panel();--- ajout d'un panneau public void init() { setBackground(Color.white);>--- le fond de l'applet est mis en blanc setLayout(new BorderLayout());--- mis en place d'une mise en page par points cardinaux MonPanneau.add(T);--- les zones de texte sont placées sur le composant Panel MonPanneau.add(U); MonPanneau.setBackground(Color.white);--- le fond du panneau est mis en blanc for (int R=0;R<256;R+=51) { for (int G=0;G<256;G+=51) { for (int B=0;B<256;B+=51) { tabCarre [i] = new Carre2(abscisse,ordonnee, R, G, B); abscisse+=12; compteur +=1; i++; if (compteur == 18) { compteur = 0; abscisse = 0; ordonnee += 12; }//if }//for B }//for G }//for R add("South", MonPanneau);--- le panneau est placé en zone sud }//init public void paint(Graphics g) { for (int j=0;j<216;j++) { tabCarre[j].paint(g); }//for j }//paint public boolean mouseDown(Event evt, int x, int y) { int k; for (k=0; k<216;k++) { dedans =(tabCarre[k].inside(x,y)) ? true : false; if (dedans) { t=Integer.toString(tabCarre[k].R) + " " + Integer.toString(tabCarre[k].G) + " " + Integer.toString(tabCarre[k].B); T.setText(t); String zero = new String("0"); String uR = new String(); uR = Integer.toString(tabCarre[k].R, 16); if (uR.equals(zero)) {uR = zero + zero;} String uG = new String(); uG = Integer.toString(tabCarre[k].G, 16); if (uG.equals(zero)) {uG = zero + zero;} String uB = new String(); uB = Integer.toString(tabCarre[k].B, 16); if (uB.equals(zero)) {uB = zero + zero;} U.setText(uR + uG + uB); } }//for k return true; } public boolean mouseUp(Event evt, int x, int y) { dedans=false; return true; } }
Et voici le résultat :
Le code de la classe prêt à l'emploi Notez que les clics de souris n'effacent plus les codes affichés : c'est plus pratique pour les recopier. Dans la prochaine et dernière étape, nous allons procéder encore à quelques améliorations. |
||
![]() |
![]() |