آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش رخدادهای فرم در جاوا

رخدادهای فرم در جاوا

در بخش قبل ماشین حساب خود را در جاوا طراحی کردید. در این بخش رویدادهایی برای آبجکت های فرم جاوا را بررسی خواهیم کرد.

از لحاظ برنامه نویسی، یک رویداد به زمانی گفته می شود که یک اتفاق خاص بیفتد. برای فرم ها رویداد به معنای کلیک کردن دکمه ها، جابه جایی ماوس، وارد کردن متن به فیلد text، بستن برنامه و موارد بسیار دیگر.

رویدادها آبجکت هایی در جاوا هستند. آنها از مجموعه ای از گروه ها گرفته می شوند که در java.util.EvenObject ذخیره شده اند. وقتی که یک دکمه کلیک می شود، گفته می شود که آن دکمه منبع رویداد می باشد. اما عمل کلیک کردن یک آبجکت رویداد را تولید می کند. سپس آبجکت رویداد در جستجوی آبجکتی است که منتظر کلیک کردن ماوس یا ضربه زدن به کلید یا هر اتفاق دیگری است که می تواند در یک فرم اتفاق بیفتد. به عنوان مثال یک فیلد text می تواند منتظر ضربه ی یک کلید در صفحه کلید باشد. یا باکس drop down می تواند منتظر آیتم انتخاب شده در باکس باشد.

آبجکت های مختلفی رویدادهای متفاوتی به وجود می آورند. برای یک دکمه، رویدادی که شروع می شود ActionListener می باشد. برای یک فیلد text این رویداد KeyEvent می باشد. به موارد مشابه فکر کنید، آبجکت رویداد مسئول انتقال پیام ها بین آبجکت های فرم می باشد که رویدادی بر روی آنها اتفاق افتاده و یا آبجکت هایی که منتظر رویداد هستند.

اگر همه ی اینها کمی پیچیده به نظر رسیدند، نگران نباشید. اما چند مثال برنامه نویسی می تواند تمام موارد را واضح سازد. ابتدا صحبتی در مورد کار کردن ماشین حساب.

اگر بخواهیم 3 و 2 را بایکدیگر جمع کنیم (2+3)، ابتدا لازم است روی دکمه ی 3 کلیک کنیم.سپس عدد 3 روی فیلد text ظاهر خواهد شد. پس از آن دکمه ی به اضافه کلیک خواهد شد و این به برنامه در مورد این واقعیت که قصد جمع کردن چند مورد را داریم، پیغام خواهد داد وهمچنین فیلد متن را برای عدد بعدی آماده خواهد کرد. عدد بعدی 2 می باشد و ما این مقدار را همراه با 3 ذخیره می کنیم. برای به دست آوردن مجموع دکمه ی تساوی کلیک می شود و در واقع در اینجا اعداد ذخیره شده را به دست می آوریم (2 , 3) و آنها را با یکدیگر جمع می کنیم. سرانجام پاسخ در فیلد متن ذخیره می شود.

اولین مشکل چگونگی دستیابی به اعداد روی دکمه ها می باشد. این کار را می توانیم با بازگرداندن پراپرتی متن مربوط به دکمه انجام دهیم. زمانی که متن را داشته باشیم می توانیم آن را در تکست باکس قرار دهیم. اما برای زمان کلیک کردن دکمه به یک ActionEvent احتیاج داریم.

در ویو Design در NetBeans دکمه ی شماره ی 1 خود را انتخاب کنید. اکنون نگاهی به پنجره ی Inspector در پایین سمت چپ، داشته باشید. دکمه ی btnOne خود را جایگذاری کنید. حالا کلیک راست کنید تا منوی زیر را مشاهده کنید.

آموزش جاوا

از منوی پیش رو Event را انتخاب کرده و باز از منوی جدیدتر روی Action و سپس روی actionPerformed کلیک کنید.

آموزش جاوا

وقتی که روی actionPerformed کلیک می کنید، محل کد برای btnOne ایجاد خواهید کرد.

مثال:

private void btnOneActionPerformed(java.awt.event.ActionEvent evt) {‎
        ‎// TODO add your handling code here:‎
        ‎}‎

اولین خط کمی بلند می باشد. اما این خط فقط یک متود با یک آبجکت ActionEvent بین پرانتزها می باشد. وقتی دکمه کلیک می شود، هر آنچه بین پرانتزها نوشته ایم، اجرا خواهند شد.

Writing code for the numbers buttons on our Java Calculator

برای به دست آوردن متن از آبجکت فرم، می توانید ازمتود getText استفاده کنید. بنابراین برای دریافت متن از btnOne ، می توانیم از کد زیر استفاده کنیم.

String btnOneText = btnOne.getText( );‎

برای دریافت متن از فیلد متن نیز می توان از کد زیر استفاده کرد.

String textfieldText = txtDisplay.getText( );‎

به هرحال اگر بخواهیم چیزی را در داخل فیلد متن قرار دهیم، متود مورد استفاده setText می باشد.

txtDisplay.setText( btnOneText );‎

آن را امتحان کنید. این کد را به محل کد اضافه کنید.

private void btnOneActionPerformed(java.awt.event.ActionEvent evt) {‎

        String btnOneText = btnOne.getText( );

        txtDisplay.setText(btnOneText);‎

        ‎}‎

برنامه ی خود را اجرا کرده و آن را تست کنید. روی دکمه ی 1 کلیک کنید و پس از آن باید عدد 1 را در قسمت فیلد متن مشاهده کنید.

آموزش جاوا

به هرحال مشکلی در اینجا وجود دارد. اگر بخواهید عدد 11 یا عدد 111 را وارد کنید چطور؟ وقتی که به طور مکرر روی یک دکمه کلیک می کنید، اتفاق دیگری نمی افتد. همیشه یک بار عدد 1 تایپ می شود و مهم نیست که چند بار این عدد را کلیک کردید.

دلیل آن این است که کد ما آنچه را از قبل در فیلد متن بوده، حفظ نمی کند و فقط عدد 1 را در آنجا قرار می دهد. اگر می خواستیم عدد 11 را تایپ کنیم، می بایست 1 اول را حفظ کنیم. برای انجام چنین کار باید متن را از فیلد متن گرفته و آن را با دکمه ی text ترکیب کنید. اولین خط کد را به این شکل اصلاح کنید.

String btnOneText = txtDisplay.getText() + btnOne.getText();‎

حالا می گوییم که متن را از فیلد متن گرفته و آن را با دکمه ی text ترکیب کنید. نتیجه را در متغیری به نام btnOneText ذخیره کنید.

برنامه ی خود را دوباره اجرا کرده و چند بار روی دکمه ی 1 کلیک کنید. پس از آن باید مشاهده کنید که فیلد متن مجموعه ای از 1 ها را نمایش خواهد داد.

آموزش جاوا

می توانیم همان کد را برای همه ی اعداد روی ماشین حساب اضافه کنیم. به ویو design برگردید. روش دیگر اضافه کردن یک Action به یک دکمه این است که به جای راست کلیک کردن در بخش Inspector، بر روی دکمه دابل کلیک کنید. بنابراین روی دکمه ی عدد 2 دابل کلیک کنید. یک کد ایجاد خواهد شد، درست مانند دفعه ی قبل.

کد زیر را به آن اضافه کنید.

private void btnTwoActionPerformed( java.awt.event.ActionEvent evt ) {‎

        String btnTwoText = txtDisplay.getText() + btnTwo.getText();

        txtDisplay.setText( btnTwoText );‎

        ‎}‎

تنها تفاوت با کد قبل، نام متغیر String می باشد(اکنون btnTwoText نامیده می شود) و این واقعیت که ما متن را از btnTwo دریافت می کنیم. بین پرانتزهای setText، نام متغیر String را انتقال می دهیم.

دوباره برنامه ی خود را اجرا کنید. اکنون باید قادر به کلیک کردن روی دکمه های 1 و 2 باشید و همچنین متنی در فیلد متن ظاهر شود.

آموزش جاوا

همان کد را برای تمام دکمه های ماشین حساب خود اضافه کنید. سپس برای دریافت stub code روی روی هر دکمه دابل کلیک کنید و کد دوخطی را به هر دکمه اضافه کنید. لازم ایت که نام متغیر String را تغییر دهید. در اینجا کد مربوط به دکمه ی 3 را مشاهده می کنید.

String btnThreeText = txtDisplay.getText() + btnThree.getText();

        txtDisplay.setText( btnThreeText );‎

می توانید کدی را که دارید کپی و پیست کنید. سپس فقط نام متغیر String را تغییر دهید، نام دکمه بعد از بخش btn و بخش بین پرانتزهای setText. اگر موردی را مشاهده کردید که زیر آن خط کشیده شده، باید بدانید که در جایی اشتباهی رخ داده است.

وقتی که کار شما تمام شد، کد مربوط به همه ی دکمه ها باید مانند زیر باشد.

آموزش جاوا

ماشین حساب خود را اجرا کرده و آن را تست کنید. باید بتوانید تمام اعداد را از 0 تا 9 وارد کنید.

آموزش جاوا

در بخش بعد کد جاوا را برای دکمه ی به اضافه در ماشین حساب خواهید کرد.

  • 5020
  •    1936
  • تاریخ ارسال :   1394/07/27

دانلود PDF دانلود سورس کد دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .