جاوا از ابتدا، بخش دهم

Java Option Panes

یک کلاس مفید دیگر برای پذیرفتن ورودی از کاربر و نمایش نتایج، کلاس JOptionPane است. این کلاس در کتابخانه javax.swing یافت می شود. کلاس JOptionPane  به شما این اجازه را می دهد که جعبه های ورودی مثل نمونه زیر داشته باشید:

swing_inputbox

و همچنین جعبه های پیام:

swing_messagebox

کدی که در بخش نهم نوشتیم را اینبار با این کلاس می نویسیم. اولین کاری که باید کرد اضافه کردن کتابخانه این کلاس به مراجع برنامه است:

import javax.swing.JOptionPane;

کد بالا به جاوا اعلام می کند که ما می خواهیم از کلاس JOptionPane، که در کتابخانه javax.swing قرار دارد استفاده کنیم. می توانید برای پیاده سازی، یک پروژه جدید ایجاد کنید یا این که پروژه بخش قبل را تغییر دهید. اینجا ما یک پروژه جدید تعریف کردیم، با نام UserInput و نام کلاس InputBoxes.(اگر روش ایجاد پروژه را فراموش کردید به بخش های قبل مراجعه کنید.)

کد import ،که بالا نوشتیم را به پروژه جدید خود اضافه کنید:

joptionpane_newproject

دلیل این که یک خط زرد رنگ زیر خط دوم وجود دارد این است که از آن کلاس هنوز در برنامه استفاده ای نکرده ایم و Netbeans این نکته را به ما گوشزد کرده است.

برای ایجاد یک جعبه ورودی که کاربر بتواند در آن تایپ کند، میتوانیم از متد showInputDialog که در کلاس JOptionPane هست استفاده کنیم. بسیار خوب، حالا مانند بخش قبل یک ورودی را از کاربر دریافت و در متغیر firstName ذخیره می کنیم. پس کد زیر را اضافه کنید:

String firstName;
firstName = JOptionPane.showInputDialog("First Name");

به محض این که JOptionPane را تایپ و سپس نقطه را تایپ کنید لیستی از گزینه های دسترس به شما نشان داده خواهد شد:

popuplistjoptionpane

روی showInputDialog دو بار کلیک کنید. در بین دوپرانتز مقابل showInputDialog پیغامی را که می خواهید در بالای جعبه متن ورودی نشان داده شود تایپ کنید. ما اینجا “First Name” را تایپ کرده ایم. که باید مانند تمامی رشته ها میان دو علامت ” نوشته شود. و در مرحله بعد باید نام خانوادگی را از کابر دریافت کنیم:

String familyName;
familyName = JOptionPane.showInputDialog("Family Name");

حال نام و نام خانوادگی را با هم در متغیری به نام fullName ذخیره می کنیم:

String fullName;
fullName = "You are " + firstName + " " + familyName;

برای نمایش نتیجه در یک جعبه پیام کد زیر را اضافه کنید:

JOptionPane.showMessageDialog(null,fullName);

این بار، از میان لیست گزینه ها showMessageDialog را انتخاب کردیم. بین دو پرانتز مقابل آن اول کلمه null را داریم که کلمه ای کلیدی در جاواست و اینجا فقط به این معناست که جعبه پیام به هیچ چیز دیگری در برنامه وابسته نیست. بعد از کاما متنی که می خواهیم در جعبه پیام نمایش داده شود، قرار می گیرد. کل کد شما بدین شکل خواهد بود:

 swing_inputbox_code

به خط آخر کد دقت کنید:

System.exit(0);

همان طور که از نامش می توان حدث زد، به ما این اطمینان را می دهد که برنامه بسته شده است. همچنین از حافظه تمام شیء های ساخته شده را پاک می کند و در واقع حافظه را آراسته می کند. حالا برنامه را اجرا کنید. در مرحله اول جعبه ورودی First Name را می بینید. متنی را در آن تایپ کنید و روی OK کلیک کنید:

inputbox

سپس جعبه ورودی Family Name را می بینید. متنی را در آن تایپ کنید و روی OK کلیک کنید:

inputbox_family

بعد از این که روی OK کلیک کنید، جعبه پیام نمایش داده خواهد شد:

messagebox_pane

روی OK کلیک کنید تا برنامه به پایان برسد.

تمرین

کد ایجاد جعبه ورودی در برنامه را برای نام و نام خانوادگی به کد زیر تغییر دهید و نتیجه را ببینید:

firstName = JOptionPane.showInputDialog("First Name","Enter Your First Name");
familyName = JOptionPane.showInputDialog("Family","Enter Your Family Name");

حالا کد ایجاد جعبه پیام را به کد زیر تغییر دهید و نتیجه را ببینید:

JOptionPane.showMessageDialog(null,fullNameو"Name",JOptionPane.INFORMATION_MESSAGE);

به جای INFORMATION_MESSAGE در کد بالا از موارد زیر استفاده کنید و برای هر کدام نتیجه را ببینید:

ERROR_MESSAGE

PLAIN_MESSAGE

QUESTION_MESSAGE

WARNING_MESSAGE

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

راهنمایی: می توانید عدد ورودی کاربر را ابتدا در متغیر String ذخیره کنید وچون نمی توان دو متغیر String را در هم ضرب کرد باید آن ها را با استفاده از مبدل String به int آن ها را به integer، تبدیل کرده و سپس در هم ضرب کنید.

String breadth;
String height;
breadth = JOptionPane.showInputDialog("Rectangle Breadth");
height= JOptionPane.showInputDialog("Rectangle height");
int area = Integer.parseInt(breadth) * Integer.parseInt(height);
JOptionPane.showMessageDialog(null,"answer = "+area);
System.exit(0);

همانطور که در کد بالا می بینید ما از این مبدل استفاده کرده ایم، روش استفاده از این مبدل این گونه است که ابتدا Integer.parsInt را تایپ کرده و سپس در داخل پرانتز رشته ای که می خواهیم به int تبدیل شود را قرار می دهیم. به نظر شما مشکل این روش چیست؟ مشکل اینجاست که اگر کاربر، عددی اعشاری به عنوان ورودی تایپ کند برنامه به اصطلاح crash می کند. چگونه می توان این مشکل را حل نمود؟ می توان به جای مبدل Integer از مبدل Float استفاده کرد. به عنوان تمرین سعی کنید این کار را انجام دهید.

در بخش بعدی به شرح دستور IF، می پردازیم.

Java Option Panes یک کلاس مفید دیگر برای پذیرفتن ورودی از کاربر و نمایش نتایج، کلاس JOptionPane است. این کلاس در کتابخانه javax.swing یافت می شود. کلاس JOptionPane  به شما این اجازه را می دهد که جعبه های ورودی مثل نمونه زیر داشته باشید: و همچنین جعبه های پیام: کدی که در بخش نهم نوشتیم …

بررسی کلی

امتیاز کاربر: 4.85 ( 1 رای)
0

دیدگاهتان را ثبت کنید

آدرس ایمیل شما منتشر نخواهد شدعلامتدارها لازمند *

*

theme