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

كيف أصل الى تعريف window event؟؟

مغلق
بدأه طالبة علم2 في 24 أبريل 2003 · 5 رد · 586 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

WindowEvent.WINDOW_CLOSING

هذه ال function موجودة تحت java.awt.event.*

وهي ترجع int

المطلوب الآن : كيف أعرف قيمة ال int اللي ترجعه هذه ال function

وانا أريد هذه القيمة لعمل الآتي

while(!(WindowEvent.WINDOW_CLOSING==?))
.
.
.

أريد أن أكرر جملة معينة طالما ان ال window مفتوحة، لذلك فكرت في هذه الطريقة.

اذا كان لديكم طريقة أخرى غير هذه الفكرة أرجو أن لا تبخلو بها علي

شكرا

#2

كيف يعني تكررين جملة دام الويندو مفتوحة بصراحة مافهمت ياليت توضحين اكثر :)

#3

السلام عليكم اختى العزيزة

لدى فكرة بسيطة واسال الله انها تفيدك

اكيد النافذة المراد اخذ منها event عبارة عن frame مثلا

ولذلك ممكن فى constructor بتاع frame نضع flag مثلا قيمته false وبذللك اول ما يتحمل الفرام تتغير قيمة اflag

اذا اغلقت النافذة تتغير هذة القيم بالعكس ونكتب الكود على ذلك

ومثلا خذى هذا algorithm

if (flage=true

then

print message

else print another message

اختى العزيزة لو كلامى مش واضح ممكن اكتبلك توضيح اكتر او كود مشابه

:confused::'(

#4

أنا بصراحة مو عارفة أتعامل مع الwhile loop في الجافا

كل ما أكتب أي loop يعتبره endless loop

وأنا حاليا في البرنامج أريد وضع loop لذلك فكرت في وضع هذا الشرط علشان يطلع من الloop

#5

دعوني أوضح لكم اكثر

نحن نريد اضافة logical clock الى برنامجنا _وكما تعرفون _ هذه ال clock تنتج مرة 0 ومرة 1 وسوف يكون بامكان ال user ادخال هذه ال clock على logic circuit

الى الآن تم رسم ال clock واريد الآن ان أجعلها تنتج قيما متغيرة تترواح بين 0و1

مع ملاحظة ان التغير في قيمة ال clock يجب أن يكون مرتبط بالتغير للثواني المعرفة أصلا في الsystem

لذلك فكرت في التالي

Date d =new Date();
value of clock=d.getsecond()%2

;

يعني اذا كانت قيمة الثواني زوجية سوف ينتج لدي 0 واذا كانت فردية ينتج لدي 1

منطقيا يجب ان تتغير value of clock كلما تغيرت قيمة getsecond()

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

عندما اعمل run للبرنامج يأخذ قيمة ال getsecond مرة واحدة فقط ولاتتغير هذه القيمة أبدا

لذلك فكرت في عمل loop ينادي في كل مرة getsecond بحيث يجعل هذا ال loop قيمة ال value of clock متغيرة

ولكن ماهو الشرط اللي يوقف عمل ال loop هذا هو السؤال؟

والسؤال الأهم لماذا لم تتغير قيمة get second() ?

هل يجب علي استخدام thread كما في برنامجك يا أخ حسام محمد ؟

أرجو التعاون معي مشكورين لأن هذه المشكلة أحاول حلها منذ أمد بعيد ولدي أمور أخرى يجب أن أنتقل لبرمجتها ........جزاكم الله خيرا

#6

اولا السلام عليكم الاخت طالبة

ثانيا ربما انك قرات كود stopwatch اللى وضعته على المنتدى فانا لم استخدم فيه اى شىء له علاقة بوقت النظام وانما متغير i تزداد قيمته الى 60 وكلما وصلت الى 60 يجعلها صفر مرة اخرى ياريت تراجعى البرناج مرة ثانيه وكل ذلك داخل thread لكى تتغير قيمة i كل ثانيه sleep 1000

ثالثا

ممكن تخرجى من اى loop عن طريقين

الاول عمل جمله شرط واستخدام break مثلا

if i > 60

break;

والطريق الاخرى عن طريق label مثلا

aa: fori write anything
hghg
ggg
if i >60
;contunue aa

ولاى استفسار اخر انا تحت امر حضرتك على الرحب والسعة

وفيه فكر كمان لو كتبتى شرط while iهكذا

while)flage=true)

do any thing

وفى وسط الكود او عند المكان المراد التوقف عندة تغيرى قيمة هذا flag

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

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