الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كود لعمل Color Panel

مغلق
بدأه صلاح الثبيتي في 6 يناير 2003 · 6 رد · 1,081 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم :)

هذا كود حبيت اطرحه لكم :) عشان تستفيدون منه :)

هو عباره عن 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();
	}
}
#2

مشكور اخي صلاح مع اني لسه ما جربته بس مجرد رغبتك في افادة الجميع تستحق الشكر عليها:rolleyes:

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#3

فعلا ...

شكرا يا أبو صلاح علي الكود و علي محاولتك تعميم الفائده ...

مع تحياتي ..

أحمد ...

#4

بسم الله الرحمن الرحيم

شكرا صلاح على هالكود.

خالد المصرى

#6

مشكور أخي على الكود

أنا شخصيا راح أستفيد منه .

#7

شكرا على الكود

لكن اعتقد انه من الاسهل والافضل استخدام color chooser (f)

هذا الموضوع مغلق.

مواضيع مشابهة