Color Changer 2.0



 

 

Complete Source Code

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;


public class ColorChanger2 {


   private static JFrame myFrame;
   private static JPanel myPanel;
   private static ColorListener listener;
   private static JLabel rLabel;
   private static JLabel gLabel;
   private static JLabel bLabel;
   private static JSlider rSlider;
   private static JSlider gSlider;
   private static JSlider bSlider;

   public static class ColorListener implements ChangeListener {

      int r = 100;
      int g = 100;
      int b = 100;

      public void stateChanged(ChangeEvent e) {

         Object source = e.getSource();

         if (source == rSlider) r = rSlider.getValue();
         if (source == gSlider) g = gSlider.getValue();
         if (source == bSlider) b = bSlider.getValue();

         myPanel.setBackground(new Color(r,g,b));
         myPanel.repaint();

      }

   }

   public static void main(String[] args) {

      myFrame = new JFrame("Color Changer 2");
      myPanel = new JPanel();
      listener = new ColorListener();
      rLabel = new JLabel("Red", JLabel.CENTER);
      gLabel = new JLabel("Green", JLabel.CENTER);
      bLabel = new JLabel("Blue", JLabel.CENTER);
      rSlider = new JSlider(0,255,100);
      gSlider = new JSlider(0,255,100);
      bSlider = new JSlider(0,255,100);

      myPanel.setBackground(new Color(100,100,100));
      myPanel.add(rLabel);
      myPanel.add(rSlider);
      myPanel.add(gLabel);
      myPanel.add(gSlider);
      myPanel.add(bLabel);
      myPanel.add(bSlider);

      rLabel.setBackground(Color.WHITE);
      rLabel.setOpaque(true);
      rLabel.setForeground(Color.RED);
      rLabel.setPreferredSize(new Dimension(100,15));

      gLabel.setBackground(Color.WHITE);
      gLabel.setOpaque(true);
      gLabel.setForeground(Color.GREEN);
      gLabel.setPreferredSize(new Dimension(100,15));

      bLabel.setBackground(Color.WHITE);
      bLabel.setOpaque(true);
      bLabel.setForeground(Color.BLUE);
      bLabel.setPreferredSize(new Dimension(100,15));

      rSlider.addChangeListener(listener);
      gSlider.addChangeListener(listener);
      bSlider.addChangeListener(listener);

      myFrame.setContentPane(myPanel);
      myFrame.setLocation(100,100);
      myFrame.setSize(400,400);
      myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      myFrame.setResizable(false);
      myFrame.setVisible(true);

   }


}