کلاس JOptionPane
JOptionPane کلاسی از جاواست است که از آن برای نشان دادن یک پیغام فوری، اطلاعات و یا یک هشدار به کاربران استفاده میشود. برای نشان دادن یک پیغام به راحتی میتوان از متد ()showMessageDialog کلاس JOptionPane استفاده نمایید. سادهترین حالت متد ()showMessageDialog این است که یک رشته متنی را به عنوان آرگومان قبول میکند و آن را نمایش میدهد. یک فایل با پسوند java توسط ++Notepad ایجاد کرده و کدهای زیر را در داخل آن نوشته و با نام JOptionPaneDemo ذخیره کنید :
import javax.swing.*; public class JOptionPaneDemo { public static void main(final String args[]) { JOptionPane.showMessageDialog(null, "Hello World !"); } }
بین دو پرانتز مقابل آن اول کلمه null را داریم که کلمهای کلیدی در جاواست و اینجا فقط به این معناست که جعبه پیام به هیچ چیز دیگری در برنامه وابسته نیست. برنامه را اجرا کرده و نتیجه را مشاهده نمایید :
شما همچنین میتوانید به راحتی و با استفاده از یکی دیگر از سربارگذاریهای متد ()showMessageDialog یک عنوان و یک آیکون برای جعبه پیامتان بگذارید.
JOptionPane.showMessageDialog (null, "Hello World !","A Message",JOptionPane.WARNING_MESSAGE);
نتیجه اجرای کد بالا به صورت زیر است.
همانطور که در بالا مشاهده کردید، میتوان به جعبه پیام برای نشان دادن معنی و مفهوم آن یک آیکون اضافه کرد. در جدول زیر انواع آیکونها و کاربرد آنها در جعبه پیام نشان داده شده است :
آیکون | عضو | استفاده |
AINFORMATION_MESSAGE | برای نشان دادن اطلاعات به کاربر | |
ERROR_MESSAGE | برای نشان دادن یک پیغام خطا | |
WARNING_MESSAGE | برای نشان دادن یک هشدار | |
QUESTION_MESSAGE | برای سؤال کردن از کاربر |
اگر بخواهید که جعبه متن هیچ گونه آیکونی نداشته باشد میتوانید از متد ()showConfirmDialog استفاده کنید. برای استفاده از این متد میتوانید به صورت زیر عمل نمایید :
JOptionPane.showConfirmDialog(null, "Hello World !","A Message",JOptionPane.YES_NO_CANCEL_OPTION);
خروجی کد بالا به صورت زیر است :
جدول زیر دکمههایی را که میتوان با این متد نمایش داد را نشان میدهد :
عضو | دکمههایی که نمایش میدهد |
OK_CANCEL_OPTION | OK, Cancel |
YES_NO_OPTION | Yes, No |
YES_NO_CANCEL_OPTION | Yes, No, Cancel |
متد ()showConfirmDialog یک مقدار را از int یا عدد صحیح بر میگرداند. تشخیص اینکه چه دکمهای توسط شما در جعبه متن فشار داده میشود، مفید است. به عنوان مثال با کلیک بر روی دکمههای NO ،Yes و Cancel این متد به ترتیب مقادیر 0، 1 و 2 را بر میگرداند.
int result = JOptionPane.showConfirmDialog(null, "Are You Sure ?","Qestion",JOptionPane.YES_NO_CANCEL_OPTION); if (result == 0) { //You pressed the Yes button } if (result == 1) { //You pressed the No button } if (result == 2) { //You pressed the Cancel button }
برای تشخیص دکمه فشرده شده به جای اعداد 1 و 2 و 3 میتوان از مقادیری که در کد زیر آمده است هم استفاده کنید.
if (result == JOptionPane.YES_OPTION) { //You pressed the Yes button } if (result == JOptionPane.NO_OPTION) { //You pressed the No button } if (result == JOptionPane.Cancel_OPTION) { //You pressed the Cancel button }
یکی دیگر از متدهای کلاس JOptionPane متد ()showInputDialog میباشد که از آن برای دریافت ورودی از کاربر استفاده میشود. خروجی این متد از نوع رشته است.
String Name = JOptionPane.showInputDialog(null,"Please Enter Your Name...", "Login", JOptionPane.INFORMATION_MESSAGE);
خروجی کد بالا به صورت زیر است.