السلام عليكم :)
هذا كود حبيت اطرحه لكم :) عشان تستفيدون منه :)
هو عباره عن JPanel و JSlider لعمل لون معين للـ JPanel
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class Slider extends JFrame{
private JPanel cjp = new JPanel();
private JPanel sjp = new JPanel();
private JLabel rjl = new JLabel("Red", SwingConstants.RIGHT);
private JLabel gjl = new JLabel("Green",SwingConstants.RIGHT);
private JLabel bjl = new JLabel("Blue", SwingConstants.RIGHT);
private JSlider rjs = new JSlider(0,100,100);
private JSlider gjs = new JSlider(0,100, 70);
private JSlider bjs = new JSlider(0,100, 70);
private JTextField rjtf = new JTextField(10);
private JTextField gjtf = new JTextField(10);
private JTextField bjtf = new JTextField(10);
private float red, green, blue;
public Slider(){
super("Slider");
setSize(300,300);
setResizable(false);
Container cp = getContentPane();
sjp.setLayout(new GridLayout(3,3));
sjp.add(rjl);
sjp.add(rjs);
sjp.add(rjtf);
sjp.add(gjl);
sjp.add(gjs);
sjp.add(gjtf);
sjp.add(bjl);
sjp.add(bjs);
sjp.add(bjtf);
cp.add("South", sjp);
cp.add("Center",cjp);
rjs.addChangeListener(new ChangeListener(){
public void stateChanged(ChangeEvent ch){
red = 0.01F * rjs.getValue();
green = 0.01F * gjs.getValue();
blue = 0.01F * bjs.getValue();
cjp.setBackground(new Color(red, green, blue));
cjp.repaint();
rjtf.setText("" + red);
gjtf.setText("" + green);
bjtf.setText("" + blue);
}
});
gjs.addChangeListener(new ChangeListener(){
public void stateChanged(ChangeEvent ch){
red = 0.01F * rjs.getValue();
green = 0.01F * gjs.getValue();
blue = 0.01F * bjs.getValue();
cjp.setBackground(new Color(red, green, blue));
cjp.repaint();
rjtf.setText("" + red);
gjtf.setText("" + green);
bjtf.setText("" + blue);
}
});
bjs.addChangeListener(new ChangeListener(){
public void stateChanged(ChangeEvent ch){
red = 0.01F * rjs.getValue();
green = 0.01F * gjs.getValue();
blue = 0.01F * bjs.getValue();
cjp.setBackground(new Color(red, green, blue));
cjp.repaint();
rjtf.setText("" + red);
gjtf.setText("" + green);
bjtf.setText("" + blue);
}
});
rjtf.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
red = Float.parseFloat(rjtf.getText());
int ired = (int) (100 * red);
rjs.setValue(ired);
cjp.setBackground(new Color(red, green, blue));
cjp.repaint();
}
});
gjtf.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
green = Float.parseFloat(gjtf.getText());
int igreen = (int) (100 * green);
gjs.setValue(igreen);
cjp.setBackground(new Color(red, green, blue));
cjp.repaint();
}
});
bjtf.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
blue = Float.parseFloat(bjtf.getText());
int iblue = (int) (100 * blue);
bjs.setValue(iblue);
cjp.setBackground(new Color(red, green, blue));
cjp.repaint();
}
});
show();
}
public static void main(String[] args){
new Slider();
}
}