//******************************************************************** // BarHeights.java Author: Lewis and Loftus // // Demonstrates the use of conditionals and loops to guide drawing. //******************************************************************** import java.applet.Applet; import java.awt.*; public class BarHeights extends Applet { private final int NUM_BARRE = 10; private final int AMP_BARRE = 30; private final int ALT_MAX = 300; private final int INTERV = 9; //----------------------------------------------------------------- // Disegna barre di diversa altezza, tenendo conto della pił alta // e della pił bassa, che sono ridisegnate in colore alla fine. //----------------------------------------------------------------- public void paint (Graphics foglio) { int x, alt; int altoX = 0, pił_alt = 0, cortoX = 0, pił_bas = ALT_MAX; setBackground (Color.black); foglio.setColor (Color.blue); x = INTERV; for (int cont = 0; cont < NUM_BARRE; cont++) { alt = (int) (Math.random() * ALT_MAX); foglio.fillRect (x, ALT_MAX-alt, AMP_BARRE, alt); // tiene traccia del pił_alt e del pił_bas if (alt > pił_alt) { altoX = x; pił_alt = alt; } if (alt < pił_bas) { cortoX = x; pił_bas = alt; } x = x + AMP_BARRE + INTERV; } // Ridisegna la barra pił_alt in rosso foglio.setColor (Color.red); foglio.fillRect (altoX, ALT_MAX-pił_alt, AMP_BARRE, pił_alt); // ReRidisegna la barra pił_bas in giallo foglio.setColor (Color.yellow); foglio.fillRect (cortoX, ALT_MAX-pił_bas, AMP_BARRE, pił_bas); } }