معرفی JOptionPane در زبان برنامه نویسی جاوا


در این آموزش قصد داریم تا با مفهومی تحت عنوان JOptionPane در ساخت رابط گرافیکی کاربر در زبان برنامه نویسی جاوا آشنا شویم. تفاوتی که این قسمت از آموزش با قسمت های پیشین آموزش های مرتبط با رابط گرافیکی کاربر دارد این است که از این قسمت آموزش به بعد به صورت کدنویسی دستی اقدام به ساخت GUI یا همان رابط گرافیکی کاربر خواهیم کرد.

برای شروع کار فولدری تحت عنوان 67th Session روی دسکتاپ ویندوز ایجاد کرده و فایلی تحت عنوان test.java در آن ایجاد می کنیم و کدهای زیر را داخل آن وارد می کنیم (لازم به ذکر است که این نام انتخابی است):

public class test {
    public static void main(String[] args) {
    }
}

همانطورکه در کد فوق مشاهده می شود حداقل کدهای مورد نیاز برای ساخت یک پروژه با زبان برنامه نویسی جاوا وارد کلاس شده اند (به خاطر داشته باشیم که نام کلاس می بایست با نام این فایل حتماً یکسان باشد). برای ایجاد یک نقطه شروع برای برنامه خود متد public static void main را داخل Block مربوط به کلاس می نویسیم (برای آشنایی بیشتر با مفهوم Block به آموزش های پیشین مراجعه نمایید).

حال از آنجا که قصد داریم تا از کلاس های مرتبط با رابط گرافیکی زبان برنامه نویسی جاوا و متدهای مرتبط با آن ها استفاده کنیم، ابتدا می بایست کلاس مد نظر خود را به صورت زیر وارد برنامه کنیم:

import javax.swing.JOptionPane;
public class test {
    public static void main(String[] args) {
    }
}

همانطور که در کد فوق می بینیم در اولین خط از کد، کلید واژه import را نوشته که به منظور وارد سازی کلاس های از پیش تعریف شده جاوا در پروژه مورد استفاده قرار می گیرد سپس javax را نوشته و یک نقطه قرار می دهیم. حال از آنجا که قرار است کلاسی را برای ساخت رابط گرافیکی مورد استفاده قرار دهیم که جزو swing است، از اینرو کلید واژه swing را نوشته و مجدد یک نقطه قرار می دهیم. در انتها می بایست نام کلاس مد نظر خود را بنویسیم که در این آموزش کلاس JOptionPane مد نظر ما است و در نهایت یک علامت ; قرار می دهیم.

این سوال ممکن است پیش بیاید که منظور J در نام کلاس JOptionPane و دیگر کلاس های Swing چیست؟

در واقع همانطور که پیش از این توضیح داده شد کلاس های مرتبط با swing برگرفته از کلاس های AWT هستند و پس از طراحی swing در زبان برنامه نویسی جاوا، برای آنکه مشابهت اسمی مابین کلاس های AWT و swing پیش نیاید به ابتدای کلیه کلاس های مرتبط با swing یک حرف J اضافه شده است.

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

import javax.swing.JOptionPane;
public class test {
    public static void main(String[] args){
        String numberOne;
        String numberTwo;
    }
}

همانطور که در کد فوق می بینیم، دو شیئ از روی کلاس String تحت عناوین numberOne و numberTwo به معنی به ترتیب "عدد شماره یک" و "عدد شماره دو" ایجاد کرده ایم. این دو شیئ فرا خوانی شده اند اما مقدار دهی نشده اند. برای این منظور در ادامه می خواهیم مقداری را برای آن ها در نظر بگیریم:

import javax.swing.JOptionPane;
public class test {
    public static void main(String[] args){
        String numberOne;
        String numberTwo;
        numberOne = JOptionPane.showInputDialog("Please enter your first number:");
        numberTwo = JOptionPane.showInputDialog("Please enter your second number:");
    }
}

همانطور که در کد فوق می بینیم بعد از شیئ ساخته شده اول از روی کلاس String تحت عنوان numberOne یک علامت مساوی قرار داده و در این جا به جای آنکه داخل علامت های " " چیزی مثل یک جمله برای این String در نظر بگیریم، نام کلاس JOptionPane را نوشته و متدی تحت عنوان showInputDialog(); را به آن ضمیمه می کنیم.

کاری که این کلاس و متد جاوا انجام می دهند این است که پنجره کوچکی باز شده که از کاربر می خواهد تا چیزی وارد فیلد داخل پنجره کند. حال برای آنکه این پنجره گویاتر باشد، می بایست عنوانی برای آن در نظر بگیریم که در این مثال عبارت Please enter your first number به معنی "لطفاً عدد اول خود را وارد کنید" در نظر گرفته شده است. همین مراحل را برای شیئ مان تحت عنوان numberTwo هم دنبال می کنیم.

حال می توانیم برنامه خود را اجرا کنیم. پیش از این توضیح دادیم برای آن که بدون استفاده از IDE هایی مثل اکلیپس و نت بینز و ... اقدام به Compile کردن برنامه های جاوای خود کنیم، می بایست از Command Prompt استفاده کنیم. برنامه Command Prompt ویندوز را اجرا می کنیم:

ابتدا برای آنکه وارد دسکتاپ شویم، دستور cd را نوشته بعد با قرار دادن یک فاصله عبارت Desktop را می نویسیم (در اینجا نوشتن عبارت دسکتاپ با حرف ابتدایی بزرگ یا کوچک تفاوتی نخواهد داشت). بعد از آنکه وارد دسکتاپ شدیم مجدد دستور cd را نوشته و این بار برای آنکه وارد فولدر مربوط به این آموزش شویم عبارت 67th Session را می نویسیم و دکمه اینتر را می زنیم (البته این در صورتی است که پروژه خود را روی دسکتاپ ایجاد کرده باشید. در غیر این صورت با استفاده از دستور cd می توان به فولدرها و درایوهای مختلف سیستم وارد شد). همانطور که در آخرین خط در پنجره فوق پیدا است، وارد فولدر پروژه شده و می توانیم برنامه خود را Compile کنیم:

همانطور که می بینیم دستور javac را نوشته که در اینجا c مخفف compile است و یک فاصله قرار می دهیم و نام فایل جاوای خود را می نویسیم که در این مثال test.java است (توجه داشته باشیم که در اینجا حروف بزرگ و کوچک خیلی اهمیت دارند).

حال دکمه اینتر را می زنیم:

حال ممکن است تصور کنیم که هیچ اتفاقی نیفتاده است اما این درست نیست بلکه در این مرحله اگر ارور خاصی دریافت نکنیم، این بدان معنا است که پروژه ما با موفقیت Compile شده است. به عبارت دیگر کدهای جاوای ما به زبان قابل فهم برای ماشین تبدیل شده اند. برای اثبات این موضوع به فولدر پروژه رجوع می کنیم:

می بینیم که فایلی تحت عنوان test.class ایجاد شده که اگر آن را باز کنیم با علائم عجیبی که برای انسان غیر قابل فهم اما برای سیستم قابل فهم اند مواجه خواهیم شد.

حال به سادگی می توان برنامه را اجرا کرد. برای این منظور مطابق تصویر زیر عمل می کنیم:

همانطور که در تصویر فوق مشخص است، ابتدا دستور java را نوشته و سپس یک فاصله قرار داده و این بار صرفاً نیاز است تا نام test را وارد کرده و دکمه اینتر را بزنیم:

می بینیم که پنجره ای ایجاد شده که در آن می توان هر چیزی که تمایل داشته باشیم وارد نماییم.

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

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
کاربر میهمان
کاربر میهمان
توی cmd که میزنم پیغام زیر را نشان میدهد؟؟
http://s2.picofile.com/file/8286973718/not_simbol3.JPG
کاربر میهمان
کاربر میهمان
سلا و خسته نباشید
چیزایی که دوستان بزای جاوا هوم و پچ گفتن عالی بود مشکل نات ری کگ نایز من حل شد الان میگه نات سیمبل دقیقا نمیدونم مشکل از کجاست؟؟
import javax.swing.JOptionPane;

public class test {

public static void main(String[] args) {

String numberOne;

String numberTwo;

numberOne = JOptionPane.showInputDialog("Please enter your first number:");

numberTow = JoptionPane.showInputDialog("Please enter your second number:");
}
}
تصویر در ادرس زیر:
http://s3.picofile.com/file/8286972918/not_simbol2.JPG
muhamad_kh
muhamad_kh
1) بر روی My Coputer (در ویندوز 10 بر روی This Pc) راست کلیک کنید و روی گزینه properties کلیک کنید.

2) در پنجره باز شده روی Advanced system settings کلیک کنید و در پنجره کوچک باز شده روی تب Advanced کلیک کنید و سپس روی گزینه Environment Variables کلیک کنید.

3) در پنجره باز شده ما دو بخش داریم که یکی برای حساب کاربری است ما ساختیم و با آن وارد ویندوز شدیم و بخش دیگر (بخش پایینی) برای کل سیستم می باشد.

توصیه میکنم برای اینکه این مشکل حل شود مواردی رو که در زیر می نویستم رو برای هر دو بخش انجام دهید.

4) بر روی New... کلیک کنید و پنجره باز شده برای variable name مقدار Path را بنویسید و برای variable value مقدار C:Program FilesJavajdk1.7.0_51bin (مسیری که JDk را در ان نصب کردیم) وارد کرده و Ok کنید.

نکته: اگر متغییر Path از قبل وجود دارد آنرا Edit کنید و اگر دارای مقداری مانند %SystemRoot%system32; و امثال آن بود به انتهای کدها رفته و یک سمی کالون ( ; ) به انتهای آن اضافه کنید (در صورتی که از قبل وجود نداشت) و سپس مقدار C:Program FilesJavajdk1.7.0_51bin را اضافه کرده و Ok کنید.اگر سیستمون رو دستکاری نکرده باشید فقط در بخشی که مربوط به سیستم است با Pathی که دارای مقدار است مواجه خواهید شد.

5) حالا مجددا روی New... کلیک کنید و این بار در پنجره باز شده برای variable name مقدار JAVA_HOME را بنویسید و برای variable value مقدار C:Program FilesJavajdk1.7.0_51 وارد کرده و Ok کنید.

اگر برنامه CMD باز بوده آن را بسته و جددا باز کنید و طبق روشی که یاد گرفتید اقدام به کامپایل کردن برنامه خود کنید.
کاربر میهمان
کاربر میهمان
سلام تو بعضی سیستم ها آدرس تو فولدر src هست اون رو هم تو مسیر کامند اضافه کنید بعد javac رو فعال کنید اونوقت دیگه ارور نمیده
کاربر میهمان
کاربر میهمان
سلام دوستان من همه چیزم درست پیش میره و لی لحظه فرمان test java پنجره ی جدیدی برام باز نمیشه لطفا راهنماییم کنید
aliireza
aliireza
اقا خواهشا راهنمایی کنید این اموزش بالا عمل میکنم ولی Command Prompt فایل رو پیدا نمیکنه
کاربر میهمان
کاربر میهمان
سلام :(((
چرا تو cmd کلمه javac رو ارور میده؟؟؟؟
لطفا کمک کنید. :(((((((((((
ahmad.iq
ahmad.iq
سلام
مطمئنيد كه جاوا را روي سيستم نصب كرديد

در پاسخ به