Sokan Academy

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

معرفی 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 را وارد کرده و دکمه اینتر را بزنیم:

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

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

برنامه‌ نویسیجاوا

sokan-academy-footer-logo
کلیه حقوق مادی و معنوی این وب‌سایت متعلق به سکان آکادمی می باشد.