//3 sliders for red, green and blue color which changes the background of panel accordingly.
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
class SliderTest extends JFrame {
private JSlider sldRed,sldGreen,sldBlue;
private JLabel lblText;
private JPanel pnlLabel,pnlSlider;
int red = 1,green = 1,blue = 1;
public SliderTest(String title){
super(title);
setSize(300,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(2,1));
setVisible(true);
addComponent();
}
public void addComponent(){
sldRed = new JSlider(JSlider.VERTICAL,1,256,1);
sldRed.addChangeListener(new ChangeListener(){
public void stateChanged(ChangeEvent e){
red = sldRed.getValue();
panelLabel();
}
});
sldGreen = new JSlider(JSlider.VERTICAL,1,256,1);
sldGreen.addChangeListener(new ChangeListener(){
public void stateChanged(ChangeEvent e){
green = sldGreen.getValue();
panelLabel();
}
});
sldBlue = new JSlider(JSlider.VERTICAL,1,256,1);
sldBlue.addChangeListener(new ChangeListener(){
public void stateChanged(ChangeEvent e){
blue = sldBlue.getValue();
panelLabel();
}
});
panelSlider();
pnlLabel = new JPanel();
add(pnlLabel);
pnlLabel.setBorder(
BorderFactory.createTitledBorder("RGB Component"));
lblText = new JLabel();
lblText.setOpaque(true);
pnlLabel.add(lblText);
panelLabel();
}
public void panelSlider(){
pnlSlider = new JPanel();
add(pnlSlider);
pnlSlider.setLayout(new GridLayout(1,3));
pnlSlider.add(sldRed);
pnlSlider.add(sldGreen);
pnlSlider.add(sldBlue);
}
public void panelLabel(){
lblText.setText(red + "," + green + "," + blue );
pnlLabel.setBackground(new Color(red,green,blue));
}
public static void main (String[] args) {
SliderTest st = new SliderTest("Slider Color");
}
}
No comments:
Post a Comment