Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.80 KB | None | 0 0
  1. package colores;
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import java.awt.event.MouseWheelEvent;
  8. import java.awt.event.MouseWheelListener;
  9.  
  10.  
  11. public class Ventana extends JFrame{
  12.  
  13.     //Atributos
  14.     private JPanel panel;
  15.     private JLabel etiqueta;
  16.     private JButton botonRojo, botonAzul, botonVerde;
  17.     private int pulsado = 0, getContadorRojo = 0, getContadorVerde = 0, getContadorAzul = 0;
  18.  
  19.     //Creamos la ventana
  20.     public Ventana(){
  21.         setSize(600,400);
  22.         setTitle("Colores RGB"); //Título de la ventana
  23.         setLocationRelativeTo(null); //Ventana a la mitad de la pantalla
  24.  
  25.         iniciarComponentes();
  26.  
  27.         setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  28.     }
  29.  
  30.     //Invoca con todos los métodos que se va a interactuar
  31.     private void iniciarComponentes(){
  32.         panelRGB();
  33.         colocarEtiquetaRGB();
  34.         colocarBotones();
  35.     }
  36.  
  37.     //Método para crear el panel
  38.     private void panelRGB(){
  39.         panel = new JPanel();
  40.         panel.setLayout(null); //Desactivamos el diseño del panel
  41.         this.add(panel);
  42.         eventoRuedaRaton();
  43.     }
  44.  
  45.     //Etiqueta que cambiará su valor dependiendo la acción que se le asigne
  46.     private void colocarEtiquetaRGB(){
  47.         etiqueta = new JLabel("Color (Rojo, Verde, Azul)");
  48.         etiqueta.setBounds(100,30,400,50);
  49.         etiqueta.setFont(new Font("arial",0,20));
  50.         etiqueta.setHorizontalAlignment(SwingConstants.CENTER);
  51.         panel.add(etiqueta);
  52.     }
  53.  
  54.     //Añadimos el botón rojo
  55.     private void colocarBotones(){
  56.  
  57.         /*
  58.             pulsado = 1 -> botón rojo
  59.             pulsado = 2 -> botón verde
  60.             pulsado = 3 -> botón azul
  61.          */
  62.         botonRojo = new JButton("Rojo");
  63.         botonRojo.setForeground(Color.RED); //Color de la letra
  64.         botonRojo.setBounds(50,230,130,50);
  65.         botonRojo.setFont(new Font("arial",1,15));
  66.         panel.add(botonRojo);
  67.  
  68.         botonRojo.addActionListener(new ActionListener() {
  69.             @Override
  70.             public void actionPerformed(ActionEvent e) {
  71.                 pulsado = 1;
  72.             }
  73.         });
  74.  
  75.         botonVerde = new JButton("Verde");
  76.         botonVerde.setForeground(Color.GREEN);
  77.         botonVerde.setBounds(220,230,130,50);
  78.         botonRojo.setFont(new Font("arial",1,15));
  79.         panel.add(botonVerde);
  80.  
  81.         botonVerde.addActionListener(new ActionListener() {
  82.             @Override
  83.             public void actionPerformed(ActionEvent e) {
  84.                 pulsado = 2;
  85.             }
  86.         });
  87.  
  88.         botonAzul = new JButton("Azul");
  89.         botonAzul.setForeground(Color.BLUE);
  90.         botonAzul.setBounds(390,230,130,50);
  91.         botonAzul.setFont(new Font("arial",1,15));
  92.         panel.add(botonAzul);
  93.  
  94.         botonAzul.addActionListener(new ActionListener() {
  95.             @Override
  96.             public void actionPerformed(ActionEvent e) {
  97.                 pulsado = 3;
  98.             }
  99.         });
  100.  
  101.     }
  102.  
  103.     private void eventoRuedaRaton(){
  104.         MouseWheelListener eventoRueda = new MouseWheelListener() {
  105.             @Override
  106.             public void mouseWheelMoved(MouseWheelEvent e) {
  107.                 if (pulsado != 0){ //Si se ha pulsado un botón
  108.                     if (pulsado == 1){ //Se ha pulsado el botón rojo
  109.                         getContadorRojo += e.getWheelRotation();
  110.                         if (getContadorRojo < 0){
  111.                             getContadorRojo = 0;
  112.                         }
  113.                         if (getContadorRojo > 255){
  114.                             getContadorRojo = 255;
  115.                         }
  116.                     }else if (pulsado == 2){ //Se ha pulsado el botón verde
  117.                         getContadorVerde += e.getWheelRotation();
  118.                         if (getContadorVerde < 0){
  119.                             getContadorVerde = 0;
  120.                         }
  121.                         if (getContadorVerde > 255){
  122.                             getContadorVerde = 255;
  123.                         }
  124.                     }else{ //Se ha pulsado el botón azul
  125.                         getContadorAzul += e.getWheelRotation();
  126.                         if (getContadorAzul < 0){
  127.                             getContadorAzul = 0;
  128.                         }
  129.                         if (getContadorAzul > 255){
  130.                             getContadorAzul = 255;
  131.                         }
  132.                     }
  133.                 }
  134.                 etiqueta.setText("Color Rojo = "+getContadorRojo+" Verde = "+getContadorVerde+" Azul = "+getContadorAzul);
  135.                 panel.setBackground(new Color(getContadorRojo,getContadorVerde,getContadorAzul));
  136.             }
  137.         };
  138.         panel.addMouseWheelListener(eventoRueda);
  139.     }
  140.  
  141.  
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement