546
Capítulo 12 Gráfi cos y Java 2D™
En las líneas 22 a 24 y 27 a 29 se llevan a cabo, nuevamente, las mismas tareas. En la línea 22 se utiliza el
constructor de
Color
con tres argumentos
float
para crear el color verde oscuro (
0.50f
para rojo,
0.75f
para
verde y
0.0f
para azul). Observe la sintaxis de los valores. La letra
f
anexada a una literal de punto fl otante indica
que la literal debe tratarse como de tipo
float
. De manera predeterminada, las literales de punto fl otante se tratan
como de tipo
double
.
En la línea 27 se establece el color actual de dibujo a una de las constantes de
Color
previamente declara-
das (
Color.BLUE
). Las constantes de
Color
son
static
, por lo que se crean cuando la clase
Color
se carga en
memoria, en tiempo de ejecución.
La instrucción de las líneas 35 y 36 hace llamadas a los métodos
getRed
,
getGreen
y
getBlue
de
Color
en la
constante
Color.MAGENTA
previamente declarada. El método
main
de la clase
MostrarColores
(líneas 8 a 18 de
la fi gura 12.6) crea el objeto
JFrame
que contendrá un objeto
ColorJPanel
, en donde se mostrarán los colores.
Observación de ingeniería de software 12.1
Para cambiar el color, debe crear un nuevo objeto
Color
(o utilizar una de las constantes de
Color
previamente
declaradas). Al igual que los objetos
String
, los objetos
Color
son inmutables (no pueden modifi carse).
El paquete
javax.swing
proporciona el componente de la GUI
JColorChooser
para permitir a los usua-
rios de aplicaciones seleccionar colores. La aplicación de las fi guras 12.7 y 12.8 demuestra un cuadro de diálogo
JColorChooser
. Al hacer clic en el botón
Cambiar color
, aparece un cuadro de diálogo
JColorChooser
. Al
seleccionar un color y oprimir el botón
Aceptar
, el color de fondo de la ventana de la aplicación cambia.
1
// Fig. 12.7: MostrarColores2JFrame.java
2
// Selección de colores con JColorChooser.
3
import
java.awt.BorderLayout;
4
import
java.awt.Color;
5
import
java.awt.event.ActionEvent;
6
import
java.awt.event.ActionListener;
7
import
javax.swing.JButton;
8
import
javax.swing.JFrame;
9
import
javax.swing.JColorChooser;
10
import
javax.swing.JPanel;
11
12
public class
MostrarColores2JFrame
extends
JFrame
13
{
14
private
JButton cambiarColorJButton;
15
private
Color color =
Color.LIGHT_GRAY
;
16
private
JPanel coloresJPanel;
17
18
// establece la GUI
19
public
MostrarColores2JFrame()
20
{
21
super(
"Uso de JColorChooser"
);
22
23
// crea objeto JPanel para mostrar color
24
coloresJPanel =
new
JPanel();
25
coloresJPanel.setBackground( color );
26
27
// establece cambiarColorJButton y registra su manejador de eventos
28
cambiarColorJButton =
new
JButton(
"Cambiar color"
);
29
cambiarColorJButton.addActionListener(
30
31
new
ActionListener()
// clase interna anónima
32
{
33
// muestra JColorChooser cuando el usuario hace clic con el botón
Figura 12.7
| Cuadro de diálogo
JColorChooser
. (Parte 1 de 2).
12_MAQ_CAP_12_DEITEL.indd546
4/19/081:26:54AM