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

اسئلتكم واستفساراتكم

مغلقرائج
بدأه علاء الصالحي في 8 نوفمبر 2008 · 958 رد · 57,657 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#26

شكرا لك اخي بيشوي

بس ممكن تعطيني متال كيف بقدر استخدم الthis لتحل محل ال pointer :happy:

#27

سلام للأخ mam225

شوف هو الجافا واحدة فى كل حتى هتقراها من اى كتب مش هتفرق

لكن من ناحية المحرر أى الeditor أى الIDE الى هتكتب عليه

فأنا بفضل استعمال النتبينز netbeans)

و ممكن تحمله من الموقع الرسمى بتاعه

http://www.netbeans.org و مشروح فيه كل حاجة عنه

و من المصادر الجيدة للتعلم الجافا ال tutorial و ال documentation الى عامله شركة sun

documentation in this link

http://docs.huihoo.com/java/javase/6/

tutorial in this link

http://java.sun.com/docs/books/tutorial/in...n/download.html

و حاول تستعمل النت بينز و لو معرفتش انا فى الخدمة و الإخوة الأفاضل فى الخدمة أيضاً

_____________________________________________________________________________-

الأخت بيان :

سلام أخبارك ايه مع الجافا ؟؟ أتمنى تكونى بخير

عموما ً أدى كود موضحلك بكل بساطة طريقة استمعال الthis

و لكن إن تعثرتى فى فهمه لا تتضايقى لأنى كما لاحظت فى موضوع سابف لكى تقولين انك حديثة العهد بالبرمجة بلغة الجافا .

عموما ً أدى الكود و مكتوب على برنامج النتبينز بردو

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Testthis extends JFrame implements ActionListener {
	private JPanel panel;	 //crate object panel from class JButton
	private JButton hello;	// crate object hello from class JButton

	// making a constructor
	public Testthis(){

		panel=new JPanel();			  // reverse a place in memory for "panel" opject
		hello=new JButton("Hello");	 // reverse a place in memory for "hello" opject
		hello.addActionListener(this);

		panel.add(hello);
		getContentPane().add(panel,BorderLayout.CENTER);
	}

	public void actionPerformed(ActionEvent e) {
	   JOptionPane.showMessageDialog(null,"Hiiiii Bian, i hope to be funny with java");
	}
	public static void main(String[]args){
		JFrame frame=new Testthis();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setLocationRelativeTo(null);
		frame.setResizable(false);
		frame.setVisible(true);
		frame.setSize(new Dimension(500,250));

	}
}

و لو مستعجلة على فهمه شوية مممكن نتناقش فى الأجزاء التى لم تعرفيها

و شكرا

ربنا معاكم

بيشوى عاطف

#28

شكرا لك اخي بيشوي .......... الحمد لله انا حابه لغة الجافا كتير وهلا انا منزلها في الجامعه وبتمنى اتقنها :lol:

الحقيقه انا ما فهمت كل إشي في البرنامح .. :wub:

hello.addActionListener(this);

بس بدي أسألك وين هادا الميثود اللي اشرت اليه في هاي الجمله وعلى أي objectأشارت ال this في هاي الجمله نفسها ؟؟؟؟؟؟ :blink:

شكرا ......... :bye:

#29

شكرا اخي مرة اخرى ..

الصراحة انا بتعلم على الـ BlueJ لانه بدرسه في الجامعة ..

لكن سالت السؤال دا .. لاني اشتريت كتاب بيعلم الجافا على برنامج تاني. .

شكرا لك ..

سؤالي اليوم

ممكن احد يفهمني الميثود هذه

انا اسف اسئلتي كتير .. لكني اريد التعلم فعلا ^_^

public void setRefNumber (String ref)

طبعا دا مثال بس .. المثال دا لمكتبة وتبغا تسوي ريقرنس نمبر للكتب الي موجودة فيها

انا قصدي الميثود void "set..."

والله يا اخوان انا بشوفكم تتناقشوا في اشياء انا ما افهمها .. مع اني احب الجافا .. وجالس اقرا كتب ..

انا مازلت مبتديء فعلا ..

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

ابغا اطور نفسي في الجافا .. اريد فعلا :(

#30

سلام mam225

ال Method setRefNumber

ما هى إلا أنها method من نوع void و يجب ان تكون على دراية بأن أى method من نوع void لا ترجع اى شئ

و حتماً و لابد قبل الmethod تكتب نوعها أيه ...

و الmethod دى ممررلها variable من نوع String

أدى كل القصة ..

اقتباس
والله يا اخوان انا بشوفكم تتناقشوا في اشياء انا ما افهمها .. مع اني احب الجافا .. وجالس اقرا كتب ..

و ده ميزعلش الالف ميل تبتدى بخطوة ( مثل صينى )

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

خليك فى نقسك متبض أن غيرك بيخلص بسرعة و انت لالالا انا كنت زيك فى البداية و مازلت أيضاً لكن المهم انك شغال و لا تنسى أن دوام الحال من المُحال

بالقراءة و التطبيق هتبقى كويس فى البرمجة

صحيح هو حضرتك اسمك ايه ( لك كامل الحرية فى ابداء اسمك ) بس أنا أحب اتتعامل باسم الشخص و برحتك بردو

ربنا معاك و شد حيلك

بيشوى عاطف

#31

السلام عليكم

كيف حالكم يا شباب؟

شكل الأخ بيشوي احتل الموضوع هنا

ماشاء الله عليه

حبيت بس أصادق على كلام بيشوي

ماعدا في نقطة المؤشرات pointers

جافا لا تحتوي على مؤشرات بأي طريقة كانت

للتوضيح المؤشر هو عبارة عن طريقة

لتغيير عنوان المتغير من مكان في الذاكرة إلى مكان آخر

السؤال الذي يسأله الجميع دائماً

لماذا جافا لا تسمح بالمؤشرات

مع أنها توفر الكثير من الوقت

بل وفعلياً هي أسرع بكثير من حجز متغيرات جديدة

سببين هما الجواب على هذا السؤال

1- التخبط الذي يسببه المؤشر

أحياناً كثيرة يكون المؤشر سبباً في إضاعة الوقت الكثير

في عمليات فهم الشيفرة مراجعة الشيفرة بل وتتبع الشيفرة لتصحيحها أو ما يسمى بـ debugging

2- مشاكل الأمان التي تحدث بسبب المؤشر

وأشهرها overflow تكلم عنها الإخوان في قسم الأمان

بالنسبة للكلمة المحجوزة this فلها عدة مهام

1- تستخدم للتمييز بين المتغيرات الداخلية local والمتغيرات العامة field

مثال

this.alaa=alaa;

تشير إلى أن المتغير علاء الموجود في دالة ما ستوضع قيمته في المتغير علاء الموجود كـ field

2- مع صانع الكائنات constructor وذلك لمناداة صانع كائنات بمدخلات مختلفة

مثال

public alaa(){
this(null);
}
public alaa(String name){
this.name=name;
}

نلاحظ هنا أن صانع الكائنات constructor الذي ليس له مدخلات zero parameter

ينادي صانع الكائنات الذي له مدخل من النوع String

وهذا يعتبر نوع من التنظيم

مممممممم هل لأحد تعليق على كلامي أتمنى أن يتكلم

لا إحراج هنا إنما هو العلم فقط

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#32

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

انا عندي مشكله كبيرة ومش عارف كيف اعلجها انا مش قادر افهمGui الذي يتضمن الماوس+الكي +الاكشن ايفينت وكذلكjcombo book+jcheck+jlable وامتحاني ضيلوه اربع ايام مشان الله ساعدوني وحطو شرح بالعربي لهاي المواضيع وشكررررررررررررررررررررررررررررررررراراجع بريدك الخاص

#33

حاول واسأل وسنساعدك بإذن الله

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#34

سلام لكم جميعاً

سلام يا أخت بيان

شوفى فى بداية الكود أنا كاتب

public Class Testthis extends JFrame implements ActionListener

كلمة extends تعنى أورث صفات أى أن ال calss سيرث صفات كلاس آخر

و هنا Actionlistener ليس كلاس بل interface

فبالتالى ال class JFrame سيرث صفات هذا ال interface

و يجب ان تعلمى أن هذا ال interface به دالة خطيرة جدا جدا جدا اسمها actionPerformed(ِActionEvent e) فى هذه الدالة يتم كتابة ال even t الذى تريدينه أن يحدث

و لكن كيف نذهب إلى هذه الدالة ؟؟؟ !!!

للذهاب إليها : فى هذا الكود الذى كتبته مسبقاً فى الصفحة السابقة

كنت أريد حينما تضغطين على hello button يظهر لكى box به رسالة

فهناك دالة اسمها AddactionListener بمرر لها this

أنا بعتبر this دى جاسوس فكأنى بقول خليكى يا addactionlistener متجسسة على الزرار فأول ما يُضغط هذا الزر اذهبى إلى الدالة actionPerformed

ونفذى ما بها .

ملحوظة بسيطة

ان ال interface ActionLisnter موجود بداخل ال pakege

import java.awt.event

اما الكلاس ActionEvent موجود فى الpakege

import java.awt.event.ActionEvent;

و أكر إذا لم تفهمى ما أقصد لا تتضايقى انت فى البداية فاصبرى

و لكن هذا الكود موضح مفهوم ال this بطريقة صريحة

توضيحاً لما قصده مستر علاء :

// In this code we use this to point to - or (call)- the original variables and put new values in it
// you will see this in code.
import java.text.DecimalFormat;
import javax.swing.JOptionPane;

public class Testthis {

	private int hour,  minut,  second;

	// constructor with 0-prameters
	// place the value 0 in ( hour,minut,second)
	public Testthis() {

		this.hour = 0;
		this.minut = 0;
		this.second = 0;

	}

	// constructor with 1-prameters
	// place the value h in (hour)
	public Testthis(int h) {
		this.hour = h;
	}

	// constructor with 2-prameters
	// place the value h,m in (hour,minut)
	public Testthis(int h, int m) {
		this.hour = h;
		this.minut = m;
	}

	// constructor with 3-prameters
	// place the value h,m,s in (hour,minut,second)
	public Testthis(int h, int m, int s) {
		this.hour = h;
		this.minut = m;
		this.second = s;
	}

	public String FormatTime() {
		DecimalFormat twoDigits = new DecimalFormat("00");
		return twoDigits.format(this.hour) + " :" +
				twoDigits.format(this.minut) + ":" +
				twoDigits.format(this.second) + "";
	}
}

class Testtime {

	public static void main(String[] args) {
		String time = "Using this with different constructor" + "\n" + "______________________";
		Testthis testthis = new Testthis();
		Testthis testthis1 = new Testthis(10);
		Testthis testthis2 = new Testthis(10, 20);
		Testthis testthis3 = new Testthis(10, 20, 40);


		time += "\n" + testthis.FormatTime() + "\n" +
				testthis1.FormatTime() + "\n" +
				testthis2.FormatTime() + "\n" +
				testthis3.FormatTime() + "\n";
		JOptionPane.showMessageDialog(null, time);


	}
}

و بالنسبة للمؤشرات أوضحها مستر علاء جيداً و شكراً جدا لتوضيحك لها

و نحن فى انتظار تبادل الأسئلة لنمو الخبرات و

#35

بالمناسبة يمكننا القول أن this

تشير على الكائن object الحالي من الفئة class

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#36
اقتباس
جافا لا تحتوي على مؤشرات بأي طريقة كانت

للتوضيح المؤشر هو عبارة عن طريقة

لتغيير عنوان المتغير من مكان في الذاكرة إلى مكان آخر

not correctly 100% !

there is pointers in java ,, and in any language use the keyword (new) , (new) mean save the object in region in memory called heap , and when the object reside in this region you can deal with it with pointer or reference to this object

example :

Student s = new Student(name);

after execute this statement , there is object from type Student in heap , and you can deal with this object from s (pointer or reference)

s here is not object , it's reference (pointer) to object , it's mean that value of s is memory address (where Object reside in heap)

now when you call

s.getName();

you have pointer(address)to object and from that location you call function getName

this keyword mean : pointer to current object , and you use it when you don't know what the name(pointer) of the current object

example :

signature of function :

public void setName (string alaa);

and you have member varaible name alaa in class student ,

now you call :

s.setName("ahmed");

inside function setName , how you can distinguish between alaa parameter and alaa member variable , in function setName you have no idea about the name (pointer) of object call this function ?

if you know the pointer (s) , you can say :

s.alaa = alaa ;

but you dont know the name(pointer) , maybe its s or s1 or any object from class !

and here the usa of this - pointer to current object-

so when you call function with s pointer and say :

this.alaa = alaa ;

it mean :

s.alaa = alaa

this hold the address of current object

s hold the address for object in memory (heap)

sorry again , no arabic langauge here :)

good luck

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#37

your illustration is very good mr. wajdy

thanks again and

god with you

thanks

beshoy

#38

مممممممممممممممم

يمكن القول أن كلامك صحيح أخ وجدي إذا اعتبرنا بتجريد الـpointer

لكني أرى أنه من الخطأ أن نقول بوجود pointer في جافا

لأن هذا يؤدي إلى توليد لبس لدى المبتدئين في اللغة

على أي حال

الجملة التالية هي الأصح

الجافا تحتوي على مؤشرات بشكلها المجرد

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#39

سلام مستر علاء

ممكن اعرف يعنى ايه كلمنة بشكلها المجرد ؟؟؟

#40

يقصد الفكره موجوده ، ولا حاجه للدخول في تفصيل أن ذلك هو مؤشر ، فقط نطلق عليه كائن object والسلام ..

المشكله في المؤشرات دائما هي في عدم تحرير الذاكره بعد حجزها أو حذف المؤشر لكائن موجود وهكذا مشاكل ، لكن في جافا لا توجد أي مشكله بسبب الgarbage collector فهو يقوم بحذف الكائن الموجود في الذاكره مباشره عندما تصبح قيمه الreference له تساوي null ..يعني هو يتولى مسئله الحذف والتحرير لنفسه ولا حاجه لك بها .

بالتوفيق .

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#41

بالضبط هذه الميزة تكاد تكون سائدة في اللغات الحديثة

ارفع مشاكل المؤشرات من حسبان المبرمج وارميها على عاتق اللغة

وهذا ما يسمى بـ refrence

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#42

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

إخواني الأعزاء ، أود أن أستفسر منكم عن البرامج المكتوبة بلغة الجافا والتي تنتشر في صفحات الـ HTML إن صح التعبير ...

إنني ألاحظ إنتشار هذه البرامج بكثرة خصوصاً في المواقع التي تشرح عن موضوع بشكل تفاعلي ، ولقد ذهلت بنجاعة هذه البرامج بتوضيح المطلوب شرحه!

لذلك ... حاولت أن أقوم بحفظ هذه البرامج حتى تفتح من دون الإتصال بإنترنت لكن دون جدوى ! حتى عندما أقوم بحفظ كامل الصفحة ، وفتحها دون الإتصال بالنت فإن البرنامج لا يظهر ، وتكون إشارة X في الزاوية العلوية اليسرى من إطار البرنامج ، إلا أن باقي الصفحة يظهر بشكل طبيعي .

فهل من حل لهذه المشكلة ؟؟

أنتظر المساعدة ، ودمتم سالمين ...

Electronic%20boy%203.jpg

قال أحد الحكماء المسلمين:

" العلم ثلاثة أشبار ، من دخل الشبر الأول تكبر ، و من دخل الشبر الثاني تواضع ، و من دخل الشبر الثالث علم أنه لايعرف شيئ !! "

#43

وعليكــم السـلام ورحمة الله وبركاتـه..

حياك الله ،،

جافا أبليت Applet هي برامج جافا تعمل على صفحه الأنترنت كما ذكرت ، طريقه عملها بأن يكون ملف الbyte code موجود في السيرفر (جهاز بعييد) ، وعندما تدخل على هذه الصفحه من خلال متصفحك فإن الbrowser يقوم بتحميل الbyte code ويقوم الjvm بتفسير الكود وعرض الناتج لديك في الشاشه ،

لذلك عندما تقوم بحفظ الصفحه لديك ، وتقوم فيما بعد بالدخول لديها فلن يمكنك لأن الكود غير موجود ، ويجب تحميله من ذلك السيرفر الذي يتواجد في الملف .class ، أي يجب أن تتصل بانترنت حتى تحمله مره أخرى ..

ادخل على source الصفحه ، وستجد html tag اسمه applet ، وستجد ربما مسار للملف .class قم بتحميل هذا الملف ، هنا اسم الملف example :

<APPLET CODE="example.class" WIDTH=300 HEIGHT=300></APPLET>

الأن قم بتحميل هذا الملف ، من نفس رابط الصفحه التي توجد بها ، امسح الأسم وضع example.class (لأنها موجوده في نفس المجلد ) .. وبعدها عند الضغط عليها تستطيع تحميلها .

بعدها يمكنك تشغيله من جهازك بدون الحاجه لصفحه الأنترنت عن طريق المفسر العادي java أو استخدم الappletviwer (تذكر أنك ستجد byte code في الملف ولن تجد ملف الكود الحقيقي .java ).

مثل :

appletviewer a.html

الملف a يحتوي على الكود :

<html>
<body>
<P>
<CENTER>
<APPLET CODE="example.class" WIDTH=300 HEIGHT=300></APPLET>
</CENTER>
<P>
</body>
</html>

جربت الطريقه الأن ، ولم استطيع تشغيل الملف example والسبب أنه يجب تحميل ملف اخر ، لأن example أظن يقوم بعمل كائن من ذلك الكلاس وحصلت مشكله في التنفيذ، وهنا يجب أن نقوم بالبحث عن ذلك الملف وتحميله أيضا .. أما اذا كان الملف لا يحتاج لملف أخر ، فنظريا الموضوع صحيح وسيعمل ان شاء الله .. نظريا فقط :) .

بالتوفيق ،،

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#44

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

إليك هذه الصفحة :

Interactive Time-Invariant System

Electronic%20boy%203.jpg

قال أحد الحكماء المسلمين:

" العلم ثلاثة أشبار ، من دخل الشبر الأول تكبر ، و من دخل الشبر الثاني تواضع ، و من دخل الشبر الثالث علم أنه لايعرف شيئ !! "

#45

حاولت إيجات الـ applet لكنه غير موجود في المصدر !!

Electronic%20boy%203.jpg

قال أحد الحكماء المسلمين:

" العلم ثلاثة أشبار ، من دخل الشبر الأول تكبر ، و من دخل الشبر الثاني تواضع ، و من دخل الشبر الثالث علم أنه لايعرف شيئ !! "

#46

السلام عليكم

اولا بحب عرف عن حالي انا عضو جديد وبدي مساعدة فورية بالجافا

لو سمحتوا .........!

معنا سؤال وظيفة ما بنعرف عنه شي

Factory Design Pattern عن

وما عنا أي فكرة عنها

والسؤال جاية على الشكل التالي :

أكيد لاءFactory Design Pattern هل سمعت بما يسمى

وهي Draw() والتي تحوي على طريقة وحيدة MyImageنفرض ان لدينا الواجهة

والذيImageEncoder ترسم صورة على الشاشة ولنفرض من جهة اخرى وجود الصف

MyImage encode(String path,ImageType type) يحتوي على طريقة وحيدة

وظيفتها اعادة صورة حسب مسار الملف المرر اليها ونوع الصورة حيث

هي واجهة تحوي على أنواع الصور المراد فتحها : ImageType

Public interfase Image Type

{

Public static final int BMB=0;

Public static final int JPEG=1;

Public static final int GIF=2;

Public static final int PNG=3;

}

بحيث يمكن فتح جميع أنواع الصور المدعومة (Image Encoder)تحقيق الصف

دون اضافة أي صف جديد الى مجموعةا لصفوف السابقة , وبحيث يتم اخفاء التحقيق عن المطورين الذين سيستخدمون هذا الصف في المستقبل

هلأ هيك كان السؤال وبتمنى مين ما بيهرف يحاول يشرح ولو شوي

#47

أخي لم أفهم أي شيء من مشاركتك

أعد كتابة المشاركة مرة أخرى

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#48

مرحبا من جديد

بتعرفوا أي شي عن

Factory Design Pattern

بالجافا

وبس شكراً

#49

اخواني الكرام .. الله يكرمكم احد يشرح لي الـ HashMap

وربي تعبت وماني قادر افهمه ..

فهمت انه به عدة ميثود .. ولكن ماني فاهم اساسه ..

وفي الجامعة ماشين صاروخ ههههه .. الله يهديهم ..

وايضا .. احتاج القليل من الفائدة في الـ Array List

احد يشرح لي مثال حتى ازيد فهمي فيه ..

ارجوكم .. :)

#50

بالنسبة للأخ الذي يسأل عن نمط المصنع

ابحث في المنتدى وستجده

بالنسبة للأخت التي تسأل عن HashMap و ArrayList

هذه الفئات هي من تراكيب البيانات data structure المشهورة

ابحثي في المنتدى

وحاولي الفهم أكثر

هذه مقالة عن ArrayList

لمحة جافاوية 5: ArrayList

بالنسبة لـ HashMap

فهي في النهاية عبارة عن HashTable

لكن المفتاح فيها ليس رقم وإنما كائن

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…