سلام با قسمت پنجم آموزش جاوا JAVA در خدمت شما عزیزان هستم
در قسمت قبل از آموزش تصویری برنامه نویسی جاوا با متغیر String و دریافت ورودی از کاربر آشنا شدیم
حال با ادامه آموزش جاوا همراه باشید:
گروه موثر دیگری برای قبول ورودی یوزر و نمایش نتایج گروه JOptionPane (گزینه های پانل) می باشد. این گروه در کتابخانه ی javax.swing واقع شده است. گروه JOptionPane به شما اجازه می دهد تا جعبه های ورودی مانند تصویر داشته باشید:
و جعبه های پیغامی نیز مانند تصویر زیر:
اجازه بدهید کد خود را از the previous section تطبیق دهیم و چند گزینه ی پانل (option panes) داشته باشیم.
اولین کاری که باید انجام دهید مراجعه به کتابخانه ی مورد نظر است.
import javax.swing.JOptionPane;
این به شما می گوید که ما قصد استفاده از گروه JOptionPane را داریم که در کتابخانه ی javax.swing واقع شده است.
اگر تمایلی به تطبیق کد قبل ندارید، می توانید یک پروژه ی جدید برای این مورد آغاز کنید.(اکنون باید بدانید که چگونه یک پروژه ی جدید ایجاد کنید. فقط به یاد داشته باشید که نام گروه را از Main به نام دیگری تغییر دهید. ما قصد داریم که گروهی به نام InputBoxes داشته باشیم. نام پوشه ی ما userinput خواهد بود.)
خط import را به پروژه ی جدید خود وارد کرده و پنجره ی کد شما باید مشابه تصویر زیر باشد:
( علت وجود خطوط موجی این است که ما هنوز لز گروه JOptionPane استفاده نکرده ایم. زمانی که این کار را انجام دهیم این خطوط نیز محو خواهند شد. )
برای به دست آوردن یک جعبه ی وردی که یوزر در آن تایپ کند، می توانید از متد showInputDialog مربوط به JOptionPane استفاده کنید. درست مانند آخرین بار، ورودی را مجددا در متغیر نام (first name) ذخیره خواهیم کرد. بنابراین خط زیر را به متد اصلی خود اضافه کنید:
String first_name;
first_name = JOptionPane.showInputDialog("First Name");
به محض اینکه بعد از JOptionPane یک نقطه تایپ کنید، لیست زیر را مشاهده خواهید کرد:
روی showInputDialog دابل کلیک کنید. بین آکولادهای showInputDialog، پیغامی را تایپ کنید که می خواهید در بالای تکست باکس نمایش داده شود. ما "First name" را تایپ کرده ایم. مانند تمام رشته ها لازم است که این عبارت در داخل علامت های نقل قول قرار بگیرد.
کد زیر را اضافه کنید که پس از آن می توانیم نام خانوادگی یوزر را دریافت کنیم:
String family_name;
family_name = JOptionPane.showInputDialog("Family Name");
این دو را به یکدیگر متصل کرده و متن نیز به آن اضافه کنید:
String full_name;
full_name = "You are " + first_name + " " + family_name;
برای نمایش نتیجه در یک پیغام، مورد زیر را اضافه کنید:
JOptionPane.showMessageDialog( null, full_name );
این بار ما از لیست showMessageDialog را می خواهیم. بین آکولادها ابتدا لغت null را مشاهده می کنیم. این لغت، لغت کلیدی جاوا می باشد که این پیغام ارتباطی با هیچ مورد دیگری در برنامه ندارد. پس از میرگول (کاما) متنی است که می خواهیم در جعبه ی پیغام نمایش دهیم. کل کد شما باید مانند تصویر زیر باشد:
به خط واقع در پایین کد دقت کنید:
System.exit(0);
همانطور که از نامش پیداست، اطمینان می دهد که برنامه خارج می شود. اما همچنین با حذف آبجکت های ایجاد شده از حافظه، آن را برای ما مرتب می سازد.
اکنون کد خود را اجرا کنید. ( راه دیگری برای اجرای برنامه ی خود در NetBeans، کلیک راست کردن بر روی هر قسمتی از پنجره ی برنامه نویسی می باشد. از منوی ظاهر شده Run File را انتخاب کنید.)
جعبه ی ورودی First Name را مشاهده خواهید کرد. چیزی در داخل آن تایپ کرده و سپس روی OK کلیک کنید:
وقتی که جعبه ی ورودی Family Name ظاهر می شود، یک نام خانوادگی تایپ کرده و روی ok کلیک کنید:
پس از کلیک کردن روی ok جعبه ی پیغام ظاهر خواهد شد:
برای اتمام برنامه روی ok کلیک کنید.
جعبه های Input و Message بیشتر نیز فرمت می شوند. مورد زیر را برای جعبه های Input خود امتحان کنید:
showInputDialog("First Name", "Enter Your First Name");
showInputDialog("Family", "Enter Your Family Name");
برای جعبه های Messages خود مورد زیر را امتحان کنید (مورد شما باید روی یک خط قرار بگیرد.):
showMessageDialog(null, full_name, "Name", JOptionPane.INFORMATION_MESSAGE);
به جای JOptionPane.INFORMATION_MESSAGE موارد زیر را امتحان کنید:
ERROR_MESSAGE
PLAIN_MESSAGE
QUESTION_MESSAGE
جعبه های Input فقط برای متن استفاده نمی شوند: آنها اعداد را نیز می پذیرند. برنامه ای بنویسید که یوزر را در دو برنامه،مساحت یک مستطیل و ارتفاع یک مستطیل، به جلو می برد. از یک جعبه ی پیغام برای محاسبه ی مساحت مستطیل استفاده کنید. ( به یاد داشته باشد که مستطیل حاصلضرب طول در عرض می باشد.) به هرحال برای این تمرین به کمک نیز نیاز خواهید داشت.
کمک مربوط به تمرین:
شما باید از متغیر String برای به دست آوردن اعداد خود از یوزر استفاده کنید:
String breadth;
breadth = JOptionPane.showInputDialog("Rectangle Breadth");
به هرحال نمی توانید دو رشته را با یکدیگر ضرب کنید. لازم است رشته ها را به اعداد صحیح تبدیل کنید. می توانید به شکل زیر یک رشته را به یک عدد صحیح تبدیل کنید:
Integer.parseInt( string_to_convert )
بنابراین ابتدا Integer را تایپ کرده و سپس یک نقطه تایپ کنید. بعد از آن parseInt( ) را تایپ کنید. بین آکولادهای parseInt، نام متغیری را تایپ کنید که سعی در تغییر آن دارید.
یک متغیر int برای ناحیه تنظیم کنید. سپس می توانید روی همان خط ضرب کرده و اختصاص دهید؛
int area = Integer.parseInt( string_one ) * Integer.parseInt( string_two);
برای جعبه ی پیغام از الحاق (concatenation) استفاده کنید:
"answer = " + area
می توانید از هر نماد MESSAGE دیگری برای جعبه ی پیغام خود استفاده کنید.
اگر برای قاعده و ارتفاع مقادیر ممیزی شناور وارد کنید، برنامه اجرا نخواهد شد. چگونه این مشکل را حل می کنید؟
وقتی که تمرین بالا را حل کنید، آیا واقعا Integer.parseInt می خواهید؟ فکر می کنید از چه موارد دیگری می توانید استفاده کنید؟
در قسمت بعد عبارات IF را امتحان کنیم.
پایان قسمت پنجم آموزش جاوا
این آموزش ادامه دارد