1 // Demostración de los colores.
2 import java.awt.*;
3 import javax.swing.*;
4
5 public class MostrarColores extends JFrame {
6
7 // el constructor establece cadena de barra de título y dimensiones de la ventana
8 public MostrarColores()
9 {
10 super( "Uso de los colores" );
11
12 setSize( 400, 130 );
13 setVisible( true );
14 }
15
16 // dibujar rectángulos y objetos String en distintos colores
17 public void paint( Graphics g )
18 {
19 // llamar al método paint de la superclase
20 super.paint( g );
21
22 // establecer nuevo color de dibujo utilizando enteros
23 g.setColor( new Color( 255, 0, 0 ) );
24 g.fillRect( 25, 25, 100, 20 );
25 g.drawString( "RGB actual: " + g.getColor(), 130, 40 );
26
27 // establecer nuevo color de dibujo utilizando valores float
28 g.setColor( new Color( 0.0f, 1.0f, 0.0f ) );
29 g.fillRect( 25, 50, 100, 20 );
30 g.drawString( "RGB actual: " + g.getColor(), 130, 65 );
31
32 // establecer nuevo color de dibujo utilizando objetos Color estáticos
33 g.setColor( Color.BLUE );
34 g.fillRect( 25, 75, 100, 20 );
35 g.drawString( "RGB actual: " + g.getColor(), 130, 90 );
36
37 // mostrar valores RGB individuales
38 Color color = Color.MAGENTA;
39 g.setColor( color );
40 g.fillRect( 25, 100, 100, 20 );
41 g.drawString( "Valores RGB: " + color.getRed() + ", " +
42 color.getGreen() + ", " + color.getBlue(), 130, 115 );
43
44 } // fin del método paint
45
46 // ejecutar la aplicación
47 public static void main( String args[] )
48 {
49 MostrarColores aplicacion = new MostrarColores();
50 aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
51 }
52
53 } // fin de la clase MostrarColores
MSAvLyBEZW1vc3RyYWNpw7NuIGRlIGxvcyBjb2xvcmVzLgoyIGltcG9ydCBqYXZhLmF3dC4qOwozIGltcG9ydCBqYXZheC5zd2luZy4qOwo0IAo1IHB1YmxpYyBjbGFzcyBNb3N0cmFyQ29sb3JlcyBleHRlbmRzIEpGcmFtZSB7CjYgCjcgICAgLy8gZWwgY29uc3RydWN0b3IgZXN0YWJsZWNlIGNhZGVuYSBkZSBiYXJyYSBkZSB0w610dWxvIHkgZGltZW5zaW9uZXMgZGUgbGEgdmVudGFuYQo4ICAgIHB1YmxpYyBNb3N0cmFyQ29sb3JlcygpCjkgICAgewoxMCAgICAgICBzdXBlciggIlVzbyBkZSBsb3MgY29sb3JlcyIgKTsKMTEgCjEyICAgICAgIHNldFNpemUoIDQwMCwgMTMwICk7CjEzICAgICAgIHNldFZpc2libGUoIHRydWUgKTsKMTQgICAgfQoxNSAKMTYgICAgLy8gZGlidWphciByZWN0w6FuZ3Vsb3MgeSBvYmpldG9zIFN0cmluZyBlbiBkaXN0aW50b3MgY29sb3JlcwoxNyAgICBwdWJsaWMgdm9pZCBwYWludCggR3JhcGhpY3MgZyApCjE4ICAgIHsKMTkgICAgICAgLy8gbGxhbWFyIGFsIG3DqXRvZG8gcGFpbnQgZGUgbGEgc3VwZXJjbGFzZQoyMCAgICAgICBzdXBlci5wYWludCggZyApOwoyMSAKMjIgICAgICAgLy8gZXN0YWJsZWNlciBudWV2byBjb2xvciBkZSBkaWJ1am8gdXRpbGl6YW5kbyBlbnRlcm9zCjIzICAgICAgIGcuc2V0Q29sb3IoIG5ldyBDb2xvciggMjU1LCAwLCAwICkgKTsKMjQgICAgICAgZy5maWxsUmVjdCggMjUsIDI1LCAxMDAsIDIwICk7CjI1ICAgICAgIGcuZHJhd1N0cmluZyggIlJHQiBhY3R1YWw6ICIgKyBnLmdldENvbG9yKCksIDEzMCwgNDAgKTsKMjYgCjI3ICAgICAgIC8vIGVzdGFibGVjZXIgbnVldm8gY29sb3IgZGUgZGlidWpvIHV0aWxpemFuZG8gdmFsb3JlcyBmbG9hdAoyOCAgICAgICBnLnNldENvbG9yKCBuZXcgQ29sb3IoIDAuMGYsIDEuMGYsIDAuMGYgKSApOwoyOSAgICAgICBnLmZpbGxSZWN0KCAyNSwgNTAsIDEwMCwgMjAgKTsKMzAgICAgICAgZy5kcmF3U3RyaW5nKCAiUkdCIGFjdHVhbDogIiArIGcuZ2V0Q29sb3IoKSwgMTMwLCA2NSApOwozMSAKMzIgICAgICAgLy8gZXN0YWJsZWNlciBudWV2byBjb2xvciBkZSBkaWJ1am8gdXRpbGl6YW5kbyBvYmpldG9zIENvbG9yIGVzdMOhdGljb3MKMzMgICAgICAgZy5zZXRDb2xvciggQ29sb3IuQkxVRSApOwozNCAgICAgICBnLmZpbGxSZWN0KCAyNSwgNzUsIDEwMCwgMjAgKTsKMzUgICAgICAgZy5kcmF3U3RyaW5nKCAiUkdCIGFjdHVhbDogIiArIGcuZ2V0Q29sb3IoKSwgMTMwLCA5MCApOwozNiAKMzcgICAgICAgLy8gbW9zdHJhciB2YWxvcmVzIFJHQiBpbmRpdmlkdWFsZXMKMzggICAgICAgQ29sb3IgY29sb3IgPSBDb2xvci5NQUdFTlRBOwozOSAgICAgICBnLnNldENvbG9yKCBjb2xvciApOwo0MCAgICAgICBnLmZpbGxSZWN0KCAyNSwgMTAwLCAxMDAsIDIwICk7CjQxICAgICAgIGcuZHJhd1N0cmluZyggIlZhbG9yZXMgUkdCOiAiICsgY29sb3IuZ2V0UmVkKCkgKyAiLCAiICsKNDIgICAgICAgICAgY29sb3IuZ2V0R3JlZW4oKSArICIsICIgKyBjb2xvci5nZXRCbHVlKCksIDEzMCwgMTE1ICk7CjQzIAo0NCAgICB9IC8vIGZpbiBkZWwgbcOpdG9kbyBwYWludAo0NSAKNDYgICAgLy8gZWplY3V0YXIgbGEgYXBsaWNhY2nDs24KNDcgICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oIFN0cmluZyBhcmdzW10gKQo0OCAgICB7CjQ5ICAgICAgIE1vc3RyYXJDb2xvcmVzIGFwbGljYWNpb24gPSBuZXcgTW9zdHJhckNvbG9yZXMoKTsKNTAgICAgICAgYXBsaWNhY2lvbi5zZXREZWZhdWx0Q2xvc2VPcGVyYXRpb24oIEpGcmFtZS5FWElUX09OX0NMT1NFICk7CjUxICAgIH0KNTIgCjUzIH0gLy8gZmluIGRlIGxhIGNsYXNlIE1vc3RyYXJDb2xvcmVz