|
Lastaj plibonigojNi plibonigos la afiŝadon de la RGB-kodoj en la dekuma nombrosistemo per aldono de la literoj R, G kaj B antaŭ la ciferojn. Tio ne estas aparte malfacila, sed devigas plilongigi la entajpeblan linion T kaj mallongigi la linion U, por ke ili povu aperi sur la panelo :
import java.applet.*;
import java.awt.*; public class apleto23 extends Applet { int absciso = 0; int ordinato = 0; int registrilo = 0; int R = 0; int G = 0; int B = 0; int i = 0; Kvadrato2 [] tabKvadrato = new Kvadrato2[216]; boolean ene; String t = new String(""); String u = new String(""); TextField T = new TextField(t, 14); TextField U = new TextField(t, 7); Panel MiaPanelo = new Panel(); public void init() { setBackground(Color.white); setLayout(new BorderLayout()); MiaPanelo.add(T); MiaPanelo.add(U); MiaPanelo.setBackground(Color.white); for (int R=0;R<256;R+=51) { for (int G=0;G<256;G+=51) { for (int B=0;B<256;B+=51) { tabKvadrato [i] = new Kvadrato2(absciso,ordinato, R, G, B); absciso+=12; registrilo +=1; i++; if (registrilo == 18) { registrilo = 0; absciso = 0; ordinato += 12; }//if }//for B }//for G }//for R add("South", MiaPanelo); }//init public void paint(Graphics g) { for (int j=0;j<216;j++) { tabKvadrato[j].paint(g); }//for j }//paint public boolean mouseDown(Event evt, int x, int y) { int k; for (k=0; k<216;k++) { ene =(tabKvadrato[k].inside(x,y)) ? true : false; if (ene) { t = "R: " +Integer.toString(tabKvadrato[k].R) + " G: " + Integer.toString(tabKvadrato[k].G) + " B: " + Integer.toString(tabKvadrato[k].B); T.setText(t); String zero = new String("0"); String uR = new String(); uR = Integer.toString(tabKvadrato[k].R, 16); if (uR.equals(zero)) {uR = zero + zero;} uR = "#" + uR; String uG = new String(); uG = Integer.toString(tabKvadrato[k].G, 16); if (uG.equals(zero)) {uG = zero + zero;} String uB = new String(); uB = Integer.toString(tabKvadrato[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) { ene=false; return true; } }
Jen la rezulto :
La uzpreta kodo de la klaso Finite ! Oni povus ankoraŭ plibonigi la aspekton, kaj la konvertado en la deksesuman nombrosistemon povus esti farata de la klaso Kvadrato2, sed la ĉefa celo de la programo estas atingita. |
||
![]() |