package guessyourchance;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.HeadlessException;
import java.awt.Insets;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class ColorSliders extends JFrame implements ChangeListener{
ColorPanel colorPanel;
JSlider sliderRed , sliderGreen , sliderBlue;
JSlider[] sliders = {sliderRed , sliderGreen , sliderBlue};
JLabel label1 , label2 , label3;
JLabel[] labels = {label1 , label2 , label3};
JPanel panel1 , panel2 , panel3;
JPanel[] panels = {panel1 , panel2 , panel3};
public ColorSliders() throws HeadlessException {
super("复选框测试");
setSize(270, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
colorPanel = new ColorPanel();
for (int i = 0; i < 3; i++) {
sliders[i] = new JSlider(0, 255, 0);
sliders[i].setMajorTickSpacing(50);
sliders[i].setMinorTickSpacing(10);
sliders[i].setPaintTicks(true);
sliders[i].setPaintLabels(true);
sliders[i].addChangeListener(this);
labels[i] = new JLabel(i + ":");
}
GridLayout gridLayout = new GridLayout(4, 1);
FlowLayout flowLayout = new FlowLayout(FlowLayout.RIGHT);
setLayout(gridLayout);
for (int i = 0; i < 3; i++) {
panels[i] = new JPanel();
panels[i].setLayout(flowLayout);
panels[i].add(labels[i]);
panels[i].add(sliders[i]);
add(panels[i]);
}
add(colorPanel);
setVisible(true);
}
@Override
public void stateChanged(ChangeEvent e) {
JSlider slider = (JSlider)e.getSource();
if (slider.getValueIsAdjusting() != true) {
Color current = new Color(sliders[0].getValue() , sliders[1].getValue() , sliders[2].getValue());
colorPanel.changeColor(current);
colorPanel.repaint();
}
}
public Insets getInsets()
{
return new Insets(45, 10, 10, 10);
}
public static void main(String[] args)
{
ColorSliders colorSliders = new ColorSliders();
}
}