670

Capítulo 15 Recursividad

ser

. Este cuadro de diálogo devuelve el objeto 

Color

 seleccionado, o azul (si el usuario oprime 

Cancelar

 o cierra 

el cuadro de diálogo sin oprimir 

Aceptar

). En la línea 51 se hace una llamada al método 

establecerColor

 en la 

clase

FractalJPanel

 para actualizar el color.

El manejador de eventos para el botón 

Reducir nivel

 se registra en las líneas 60 a 78. En el método 

action-

Performed

, en las líneas 66 y 67 obtienen el nivel actual de recursividad y lo reducen en 1. En la línea 70 se 

Origen (0, 0)

Figura 15.20

  |  El “fractal Lo” en el nivel 2.

 1 

// Fig. 15.21: Fractal.java

 2 

// Demuestra la interfaz de usuario para dibujar un fractal.

 3 

import

 java.awt.Color;

 4 

import

 java.awt.FlowLayout;

 5 

import

 java.awt.event.ActionEvent;

 6 

import

 java.awt.event.ActionListener;

 7 

import

 javax.swing.JFrame;

 8 

import

 javax.swing.JButton;

 9 

import

 javax.swing.JLabel;

 10 

import

 javax.swing.JPanel;

 11 

import

 javax.swing.JColorChooser;

 12 
 13 

public class

 Fractal 

extends

 JFrame

 14 

{

 15  

private final int

ANCHURA

 = 

400

;

// define la anchura de la GUI

 16  

private final int

ALTURA

 = 

480

;

// define la altura de la GUI

 17  

private final int 

NIVEL_MIN

 = 

0

,

NIVEL_MAX

 = 

15

;

 18  

private

 Color color = 

Color.BLUE

;

 19 
 20  

private

 JButton cambiarColorJButton, aumentarNivelJButton,

 21  

 

reducirNivelJButton;

 22  

private

 JLabel nivelJLabel;

 23  

private

 FractalJPanel espacioDibujo;

 24  

private

 JPanel principalJPanel, controlJPanel;

 25 
 26  

// establece la GUI

 27  

public

 Fractal()

 28  

{

 29  

 

super(

"Fractal"

 );

 30 

Figura 15.21

  |  Demostración de la interfaz de usuario del fractal. (Parte 1 de 3).

15_MAQ_CAP_15_DEITEL.indd670

4/19/081:29:04AM