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

كيفية تغيير لون الفريم

مغلق
بدأه الغانم في 16 مايو 2007 · 9 رد · 1,784 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

عندي سؤال عاجل بالجافا ارجو المساعدة سريعا......لو سمحتم

السؤال هو في مادة الفريم

الكود التالي بلون الفريم بواحد من الثلاث الوان الاساسية وذالك عن طريق ادخال رمز اللون (اما احمر او ازرق او اصفر) في ال(جي اوبشن بين)بس الخطأ بهالكود ان المفروض يكون في ميثود تعمل ريفرش للالوان

لان بهالحالة لما اندخل حرف (آر) للون الاحمر بتلون الفريم احمر بس لما ادخل حرف (البي)عشان ألون باللون الازرق, الفريم ما بتلون بالازرق ببقى متلون بالاحمر

repaintسمعت في ميثود اسمها

هي اللي بتخلي الفريم يستخدم اي لون بس مش عارف كيف استعملها

الكود هو:ه

import javax.swing.*;

import java.awt.*;

class SR extends JFrame{

public static void main(String[] args)

{

SR f =new SR();

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.show();}

public SR(){String s;

setSize(400,400);

setTitle("MY FIRST FRAME");

s=JOptionPane.showInputDialog("Enter color");

if(s=="r")

getContentPane().setBackground(Color.RED);

if(s=="b")

getContentPane().setBackground(Color.BLUE);

if(s=="y")

getContentPane().setBackground(Color.YELLOW);

}

}

لو سمحتم الحل عن طريق(الريبينت ميثود) وشكرا

~~~~ :unsure:

#2

أنا جربت الكود بتاعك بس ملونش معايا حاجه خالص لا أحمر و لا غيره ، الكود ده شغال إفهمه الأول :D

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class MySR extends JFrame implements ActionListener {

	private JTextField txt;
	private JButton btn;

	public MySR (){
		super ("His first frame ");

		txt = new JTextField("enter r or b or g ");
		btn = new JButton("change");
		getContentPane().add (txt, BorderLayout.NORTH );
		getContentPane().add (btn, BorderLayout.SOUTH );

		btn.addActionListener (this );

		setSize (200, 200 );
		setVisible (true);
	}
	public void actionPerformed (ActionEvent e ){
		Color c = null;
		if ( txt.getText().equals("r") )
			c = Color.RED;
		else if ( txt.getText().equals ("b") )
			c = Color.BLUE;
		else if ( txt.getText().equals ("g") )
			c = Color.GREEN;
		else
			JOptionPane.showMessageDialog (this, "Enter r or b or g ");
		this.getContentPane().setBackground(c);
	}


	public static void main (String[] args ){
		new MySR().setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE );
	}
}

post-70497-1179376204_thumb.png

post-70497-1179376218_thumb.png

#3

شكرا يا أخ على حل السؤال وطريقتك رائعة في الحل ولكن انا معني بالحل على طريقة (الريبينت ميثود) وبما اني مبتدئ في الجافا احتاج الى كود بسيط في الحل في الفريم

مشكلتي فقط في الميثود اللي بتعمل ريفرش

شكرا جزيلا لمساعدتك

ولو بالامكان تعطيني كود بسيط مضاف على الكود اللي عندي بكون شاكر لك

تحياتي :D

تم تعديل هذه المشاركة بواسطة الغانم في 17 مايو 2007 في 14:02

#4

ممكن سؤال جا في بالي ,, الحين المتغير Color له ألوان محدودة اسمها RED و و و ,,,

وإلا بإمكاني إني أضع لون من عندي بحيث أضع الأرقام تبع RGB وينشأ لون آخر ؟؟؟

#5

مرحبا أخ (طالب حيران) المقصود ان أضع واحد من الالوان احمر او ازرق او اصفر بس واحد من الثلاث (ألوان محدودة) بدون ما اعطي اي ارقام للالوان

فقط اني ادخل حرف اللون حتى يتلون الفريم فيه

ارجو انك تساعدني في الحل

شكرا B)

#6

الأخ طالب :

ممكن تعمل أي لون :

أنا بصراجه موش فاكر الكود بس ممكن تدخل علي ال documentaions و بشوف ال constructor بتاع ال Color بياخد إيه .

تقريبا :

Color ( int red, int green, int blue )

,

Color ( float int, float green , float blue )

#7

بالنسبه لل repaint ، إنت بتستخدمها عادي في أي مكان في ال class من نوع JFrame .

#8

مشكورين على توضيحكم

#9

بالأدق ال repaint تستخدم لعمل call للميثود paint

يعني لو إنت عامل method إسمها paint ( java.awt.Graphics g ) فإستخدم هذه الميثود لتنادي عليها ، أسف لعدم ذكر التفاصيل لظروف الامتحانات

#10

عند محاول المقارنة بين الكائنات استخدم الميثود equals بدلا من علامة المساواه (==) !

import javax.swing.*;
import java.awt.*;
class SR extends JFrame{
	public static void main(String[] args){
		SR f =new SR();
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.show();
	}

	public SR(){
		String s;
		setSize(400,400);
		setTitle("MY FIRST FRAME");
		s=JOptionPane.showInputDialog("Enter color");
		if(s.equals("r")) getContentPane().setBackground(Color.RED);
		else if(s.equals("b")) getContentPane().setBackground(Color.BLUE);
		else if(s.equals("y")) getContentPane().setBackground(Color.YELLOW);
	//	getContentPane().repaint();
	}
}

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

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