خلاصه مطلب
در این جلسه آموزشی گرافیک در جاوا JOptionPane در جاوا را که یکی از کلاس های کتابخانه Swing هست را بررسی کرده ایم.
فهرست جلسات آموزش گرافیک در جاوا
جلسه اول | معرفی Swing در جاوا
جلسه دوم | کلاس JButton در جاوا
جلسه سوم | کلاس JLabel در جاوا
جلسه چهارم | کلاس JTextField درجاوا
جلسه پنجم | کلاس JTextArea در جاوا
جلسه ششم | کلاس JPasswordField در جاوا
جلسه هفتم | کلاس JCheckBox در جاوا
جلسه هشتم | کلاس JRadioButton در جاوا
جلسه نهم | کلاس JComboBox در جاوا
جلسه دهم | کلاس JTabel در جاوا
جلسه یازدهم | کلاس JOptionPane در جاوا
جلسه دوازدهم | ساخت منو گرافیکی در جاوا
جلسه سیزدهم | کلاس JPopupMenu در جاوا
جلسه چهاردهم | کلاس JSeparator در جاوا
جلسه پانزدهم | کلاس JProgressBar در جاوا
جلسه شانزدهم | کلاس JTree در جاوا
جلسه هفدهم | کلاس JColorChooser
جلسه هجدهم | کلاس JSlider در جاوا
جلسه نوزدهم | کلاس JSpinner در جاوا
جلسه بیستم | کلاس JPanel در جاوا
جلسه بیست و یکم | کلاس JFileChooser در جاوا
جلسه بیست و دوم | کلاس JLayeredPane در جاوا
جلسه بیست و سوم | استفاده از ToolTip در جاوا
جلسه بیست و چهارم |تغییر آیکون Frame در جاوا
جلسه بیست و پنجم | کلاس Graphics در جاوا
جلسه بیست و ششم | نمایش تصویر در Swing

کلاس JOptionPane یک جعبه محاوره ای استاندارد را فراهم کرده است. JOptionPane برای نمایش اطلاعات،دریافت ورودی از کاربر،نمایش پیام تایید استفاده می شود.
در کل هنگام استفاده از JOptionPane یک پنجره کوچک ظاهر می شود که اطلاعاتی را نمایش یا در خواست ورودی و تایید از کاربر می کند. از همه این توضیحات بگذریم خودم میدونم با این توضیحات مفهومی روشن نمی شود!!! پس برای درک بهتر ازکاربرد این اجزای گرافیکی تصویر(1) ، تصویر(2) و تصویر(3) را مشاهده کنید:
.png)
.png)
.png)
• در تصویر(1) از JOptionPane برای دریافت ورودی از کاربر استفاده کرده ایم. • در تصویر(2) از JOptionPane برای نمایش پیام به کاربر استفاده کرده ایم.
• در تصویر(3) از JOptionPane برای نمایش تایید یا رد کردن عملی خاص توسط کاربر استفاده کرده ایم که به اصطلاع به آن confirm کردن می گویند.
• سازنده های پرکاربرد کلاس JOptionPane :
| توصیف | سازنده |
| برای ایجاد یک JOptionPane استفاده می شود. | JOptionPane() |
| ایجاد یک JOptionPane برای نمایش پیام مشخص | JOptionPane(Object message) |
| ایجاد یک JOptionPane برای نمایش پیام همراه با مشخص کردن نوع پیامی که قراره به کاربر نمایش داده شود. | JOptionPane(Object message, int messageType) |
• متدهای پرکاربرد کلاس JOptionPane :
| توصیف | متد |
| این متد برای نمایش پیام حاوی اطلاعات استفاده می شود. چیزی شبیه تصویر(2) | static void showMessageDialog(Component parentComponent, Object message) |
| این متد برای ایجاد یک جعبه پیام همراه با مشخص کردن عنوان و نوع پیامی که قراره نمایش داده شود. | static void showMessageDialog(Component parentComponent, Object message, String title, int messageType) |
| این متد برای ایجاد یک جعبه پیام همراه با گزینه های Yes ،No و Cancel همچنین مشخص کردن عنوان و انتخاب یک گزینه چیزی شبیه تصویر(3) | static int showConfirmDialog(Component parentComponent, Object message) |
| این متد برای نمایش یک پیام سوالی و درخواست ورودی از کاربر می باشد. تصویر(1) | static String showInputDialog(Component parentComponent, Object message) |
اصلا نگران نباشید! هیچ کس از با خوندن توضیحات و تئوری برنامه نویس نشده است!!! تنها با مثال و تمرین عملی است که می توان خودمون رو به چالش بکشیم و یادبگیریم!! پس به مثال های زیر توجه کنید:
مثال JOptionPane در جاوا :
| package javalike;import javax.swing.*;public class OptionPaneExample { JFrame f; OptionPaneExample() { f = new JFrame(); JOptionPane.showMessageDialog(f, "Hello, Welcome to Javalike."); } public static void main(String[] args) { new OptionPaneExample(); } } |
.png)
خروجی: تصویر(4)
مثال:
| package javalike ; import javax.swing.*; public class OptionPaneExample2 { JFrame f; OptionPaneExample2(){ f=new JFrame(); JOptionPane.showMessageDialog(f,"Successfully Updated.","Alert",JOptionPane.WARNING_MESSAGE); } public static void main(String[] args) { new OptionPaneExample2(); } } |
.png)
خروجی: تصویر(5)
| JOptionPane.showMessageDialog(f,"Successfully Updated.","Alert",JOptionPane.WARNING_MESSAGE); |
• متد بالا همان متد زیر است که مقدار دهی شده است:
| showMessageDialog(Component arg0, Object arg1, String arg2,int arg3) |
• که بجای arg0 شی از نوع کلاس JFrame که فرزند کلاس Component هستش قرار داده ایم.
• بجای arg1 یک رشته String گذاشته! چرا ؟ چون کلاس Object پدربزرگ همه کلاس هاست! پس مجاز هستیم از کلاس String استفاده کنیم.
• بجای arg2 هم یک متن رشته قرار داده ایم.
• بجای arg3 نوع پیامی که قراره برای کاربر نمایش داده شود را تعیین کردیم.در اینجا نوع JOptionPane.WARNING_MESSAGE را انتخاب کردیم.این نوع برای پیام هایی که جنبه هشدار دارند استفاده می شود. مثال:
| package javalike ; import javax.swing.*; public class OptionPaneExample3 { JFrame f; OptionPaneExample3(){ f=new JFrame(); String name=JOptionPane.showInputDialog(f,"Enter Name"); } public static void main(String[] args) { new OptionPaneExample3(); } } |
.png)
خروجی: تصویر(6)
| JOptionPane.showInputDialog |
• همان طور که ابتدای جلسه هم توضیح دادیم این متد برای دریافت ورودی از کاربر استفاده می شود. مثال:
| package javalike ; import javax.swing.*; import java.awt.event.*; public class OptionPaneExample extends WindowAdapter { JFrame f; OptionPaneExample() { f = new JFrame(); f.addWindowListener(this); f.setSize(300, 300); f.setLayout(null); f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); f.setVisible(true); } public void windowClosing(WindowEvent e) { int a = JOptionPane.showConfirmDialog(f, "Are you sure?"); if (a == JOptionPane.YES_OPTION) { f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } public static void main(String[] args) { new OptionPaneExample(); } } |
.png)
خروجی: تصویر(7) • طبق تصویر(7) اگر ما دکمه بستن پنجره فریم یا همون Close که به شکل یک ضربدر هستش را انتخاب کنیم، پیامی برای ما نمایش داده می شود که نیاز به تایید کردن برای بستن پنجره برنامه دارد.در صورت فشردن دکمه Yes برنامه بسته می شود.
| f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); |
• متد setDefaultCloseOperation برای تعیین حالت پیشفرض دکمه close یا همان ضربدر قرمز گوشه برنامه می باشد.اگر پارامتر این متد را JFrame.DO_NOTHING_ON_CLOSE قرار دادیم، با زدن دکمه close یا همون ضربدر قرمز گوشه برنامه دیگر برنامه بسته نمی شود.
• چون که قراره پیام تایید یا رد بسته شدن پنجره برای برنامه قرار دهیم از این دستور استفاده کرده ایم.
| public void windowClosing(WindowEvent e) { int a = JOptionPane.showConfirmDialog(f, "Are you sure?"); if (a == JOptionPane.YES_OPTION) { f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
• متد windowClosing برای بستن برنامه کاربرد دارد.این متد رویدادهای مربوط به ویندوز را دریافت میکند.
• متد windowClosing در کلاس WindowAdapter قرار دارد.
• کلاس WindowAdapter یک کلاس انتزاعی (abstract) می باشد که برای دریافت رویدادهای (events) مربوط به ویندوز استفاده می شود.
• خب ما برای استفاده از متد windowClosing در برنامه خود باید کلاس WindowAdapter را به ارث ببریم :
| public class OptionPaneExample extends WindowAdapter { |
• خب بعد از به ارث بردن کلاس WindowAdapter ، متد windowClosing را در بدنه کلاس خود override یا بازنویسی می کنیم.
| int a = JOptionPane.showConfirmDialog(f, "Are you sure?"); |
• این متد پیام تاییدکردن برای کاربر را نمایش می دهد. مقدار نوع دکمه ای که کاربر انتخاب کرده است ( این مقدار بصورت یک عدد صحیح می باشد ) را درون متغیر a می ریزیم.
| if (a == JOptionPane.YES_OPTION) { |
• اگر مقدار a ( نوع دکمه ای که کاربر انتخاب کرده است) برابر گزینه Yes بود، دستور زیر را اجرا کن:
| f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); |
• این دستور حالت پیشفرض دکمه close یا همون ضربدر قرمز گوشه فریم را به JFrame.EXIT_ON_CLOSE تغییر می دهد. یعنی پنجره یا همون فریم بسته می شود.مطمئنا از کمبود منابع فارسی در زمینه جاوا شکایت دارد!! خب شما هم با حمایت کردن خودتون سهمی در رشد منابع آموزشی فارسی داشته باشید. پیروز و موفق باشید

این جلسه آموزشی را می توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)لینک دانلود
.png)
.png)
نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است. برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.

