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);
}
} |