Java
Ejercicios
Ejercicios
  • 02-Estructuras de control y bucles
    • Ejercicios de estructuras de control
    • Ejercicios de estructuras de control II
  • 06-Patrones de diseño
    • Ejercicio MVC en JAVA
  • 08-Flujos y Ficheros
    • Ejercicio de Redirección y Comunicación entre Procesos en Java
    • Ejercicio de Comunicación y Sincronización entre Tres Procesos en Java
  • 08-Flujos y Ficheros
  • 10-Swing
    • Ejercicio Aplicación de Notas Simples
    • Ejercicio Cálculadora básica
    • Ejercicio: Aplicación de Lista de Tareas con layouts
    • Ejercicio: Dibujo de figuras con Graphics
    • Ejercicio: Aplicación de Control de Color de un Rectángulo
    • Ejercicio: Dibujo de una clase vista
  • 03-Arrays y colecciones
    • 03.01-Arrays
      • Sistema de Gestión de Cine
      • Ejercicios básicos de arrays
    • 03.02-Colecciones
      • Sistema de Gestión de Canales de YouTube
  • 05-POO
    • 05.1-POO Iniciación
      • Ejercicio: Sistema de Gestión para una Biblioteca
      • Ejercicio de arrays. Aventura de los Patapons
      • Ejercicios básicos sobre POO
    • 05.2-POO Clases Abstractas
      • Sistema de Gestión de Vehículos
    • 05.6-Generales de POO
      • Ejercicio: Sistema de Gestión de Empleados
      • Aventuras en el Laberinto Encantado
      • Ejercicio de Pasapalabra
  • Soluciones
    • 02-Estructuras de control y bucles
      • [Solución] Ejercicios de estructuras de control II
    • 06-Patrones de diseño
      • [Solucion] Ejercicio MVC en JAVA
    • 08-Flujos y Ficheros
      • Solución de Ejercicio de Redirección y Comunicación entre Procesos en Java
      • Solución de Ejercicio de Comunicación y Sincronización entre Tres Procesos en Java
    • 10-Swing
      • [Solución] Ejercicio Aplicación de Notas Simples
      • [Solución] Ejercicio Cálculadora Simple
      • [Solución] Ejercicio: Aplicación de Lista de Tareas con layouts
      • [Solución] Ejercicio: Dibujo de figuras con Graphics
      • [Solución] Ejercicio: Dibujo de figuras con Graphics
      • [Solución] Ejercicio: Aplicación de Control de Color de un Rectángulo
    • 03-Arrays y colecciones
      • 03.01-Arrays
        • [Solución] Ejercicios de estructuras de control 2
        • [Solución] Sistema de Gestión de Cine
        • [Solución] Ejercicios básicos de arrays
      • 03.02-Colecciones
        • [Solución] Sistema de Gestión de Canales de YouTube
    • 05-POO
      • 05.1-POO Iniciación
        • [Solución] Ejercicio de arrays. Aventura de los Patapons
        • [Solución] Ejercicios básicos sobre POO
      • 05.2-POO Clases Abstractas
        • [Solución] Sistema de Gestión de Vehículos
      • 05.6-Generales de POO
        • Solución de Sistema de Gestión de Empleados
        • [Solución] Aventuras en el Laberinto Encantado
        • [Solución] Ejercicio de Pasapalabra
Powered by GitBook
On this page
  • Objetivo
  • Descripción de la Aplicación
  • 1. Control del Color del Rectángulo
  • 2. Modelo de Datos (RectangleColorModel)
  • Tareas
  • Clase Modelo: RectanguloColorModelo
  • Clase Principal: RectanguloColorApp
  • Resultado final
  1. 10-Swing

Ejercicio: Aplicación de Control de Color de un Rectángulo

Objetivo

Desarrollar una aplicación de escritorio en Java utilizando Swing que permita a los usuarios ajustar el color de fondo de un rectángulo dibujado en un panel. El color se controlará mediante tres JSliders, correspondientes a las componentes roja, verde y azul (RGB) del color.

Descripción de la Aplicación

1. Control del Color del Rectángulo

  • Utilizar tres JSliders que permitan seleccionar las componentes roja, verde y azul (RGB) del color del rectángulo. Cada JSlider tendrá un rango de 0 a 255.

  • Mostrar el valor actual de cada componente RGB en JTextFields adyacentes a los JSliders.

  • El rectángulo se dibujará en un JPanel, y su color de fondo cambiará en tiempo real según los valores seleccionados en los JSliders.

2. Modelo de Datos (RectangleColorModel)

  • Crear una clase modelo RectangleColorModel que almacene el color actual del rectángulo en términos de sus componentes RGB

  • El modelo debe tener métodos para obtener y establecer las componentes de color.

Tareas

  1. Implementar la Vista (RectangleColorView)

    1. Diseñar e implementar la clase RectangleColorView.

    2. La vista debe incluir tres JSliders para ajustar las componentes RGB y tres JTextFields para mostrar los valores numéricos de estas componentes.

    3. La vista también debe incluir un JPanel donde se dibuja el rectángulo con el color de fondo actual.

    4. Incluir métodos necesarios para que la clase sea funcional, como getters, setters y un método para redibujar el rectángulo.

  2. Implementar el Controlador (RectangleColorController)

    1. Diseñar e implementar la clase RectangleColorController.

    2. El controlador debe manejar los eventos de los JSliders y actualizar el modelo y los JTextFields correspondientes cuando se ajusta un JSlider.

    3. El controlador también debe actualizar el JPanel para redibujar el rectángulo con el nuevo color.

Clase Modelo: RectanguloColorModelo

import java.awt.Color;

public class RectanguloColorModelo {
    private int rojo, verde, azul;

    public RectanguloColorModelo() {
        rojo = verde = azul = 0; // Valores iniciales
    }

    // Getters y setters para rojo, verde, azul
    public void setColor(int rojo, int verde, int azul) {
        this.rojo = rojo;
        this.verde = verde;
        this.azul = azul;
    }

    public Color getColor() {
        return new Color(rojo, verde, azul);
    }
    public int getRojo(){
        return rojo;
    }
    public int getVerde(){
        return verde;
    }
    public int getAzul(){
        return azul;
    }
}

Clase Principal: RectanguloColorApp

public class RectangleColorApp {
    public static void main(String[] args) {
        RectanguloColorModelo modelo = new RectanguloColorModelo();
        RectanguloColorVista vista = new RectanguloColorVista(modelo);
        RectanguloColorControlador controlador = new RectanguloColorControlador(modelo, vista);
    }
}

Resultado final

PreviousEjercicio: Dibujo de figuras con GraphicsNextEjercicio: Dibujo de una clase vista

Last updated 1 year ago

imagen final del ejercicio