Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package colores;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.MouseWheelEvent;
- import java.awt.event.MouseWheelListener;
- public class Ventana extends JFrame{
- //Atributos
- private JPanel panel;
- private JLabel etiqueta;
- private JButton botonRojo, botonAzul, botonVerde;
- private int pulsado = 0, getContadorRojo = 0, getContadorVerde = 0, getContadorAzul = 0;
- //Creamos la ventana
- public Ventana(){
- setSize(600,400);
- setTitle("Colores RGB"); //Título de la ventana
- setLocationRelativeTo(null); //Ventana a la mitad de la pantalla
- iniciarComponentes();
- setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
- }
- //Invoca con todos los métodos que se va a interactuar
- private void iniciarComponentes(){
- panelRGB();
- colocarEtiquetaRGB();
- colocarBotones();
- }
- //Método para crear el panel
- private void panelRGB(){
- panel = new JPanel();
- panel.setLayout(null); //Desactivamos el diseño del panel
- this.add(panel);
- eventoRuedaRaton();
- }
- //Etiqueta que cambiará su valor dependiendo la acción que se le asigne
- private void colocarEtiquetaRGB(){
- etiqueta = new JLabel("Color (Rojo, Verde, Azul)");
- etiqueta.setBounds(100,30,400,50);
- etiqueta.setFont(new Font("arial",0,20));
- etiqueta.setHorizontalAlignment(SwingConstants.CENTER);
- panel.add(etiqueta);
- }
- //Añadimos el botón rojo
- private void colocarBotones(){
- /*
- pulsado = 1 -> botón rojo
- pulsado = 2 -> botón verde
- pulsado = 3 -> botón azul
- */
- botonRojo = new JButton("Rojo");
- botonRojo.setForeground(Color.RED); //Color de la letra
- botonRojo.setBounds(50,230,130,50);
- botonRojo.setFont(new Font("arial",1,15));
- panel.add(botonRojo);
- botonRojo.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- pulsado = 1;
- }
- });
- botonVerde = new JButton("Verde");
- botonVerde.setForeground(Color.GREEN);
- botonVerde.setBounds(220,230,130,50);
- botonRojo.setFont(new Font("arial",1,15));
- panel.add(botonVerde);
- botonVerde.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- pulsado = 2;
- }
- });
- botonAzul = new JButton("Azul");
- botonAzul.setForeground(Color.BLUE);
- botonAzul.setBounds(390,230,130,50);
- botonAzul.setFont(new Font("arial",1,15));
- panel.add(botonAzul);
- botonAzul.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- pulsado = 3;
- }
- });
- }
- private void eventoRuedaRaton(){
- MouseWheelListener eventoRueda = new MouseWheelListener() {
- @Override
- public void mouseWheelMoved(MouseWheelEvent e) {
- if (pulsado != 0){ //Si se ha pulsado un botón
- if (pulsado == 1){ //Se ha pulsado el botón rojo
- getContadorRojo += e.getWheelRotation();
- if (getContadorRojo < 0){
- getContadorRojo = 0;
- }
- if (getContadorRojo > 255){
- getContadorRojo = 255;
- }
- }else if (pulsado == 2){ //Se ha pulsado el botón verde
- getContadorVerde += e.getWheelRotation();
- if (getContadorVerde < 0){
- getContadorVerde = 0;
- }
- if (getContadorVerde > 255){
- getContadorVerde = 255;
- }
- }else{ //Se ha pulsado el botón azul
- getContadorAzul += e.getWheelRotation();
- if (getContadorAzul < 0){
- getContadorAzul = 0;
- }
- if (getContadorAzul > 255){
- getContadorAzul = 255;
- }
- }
- }
- etiqueta.setText("Color Rojo = "+getContadorRojo+" Verde = "+getContadorVerde+" Azul = "+getContadorAzul);
- panel.setBackground(new Color(getContadorRojo,getContadorVerde,getContadorAzul));
- }
- };
- panel.addMouseWheelListener(eventoRueda);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement