با عرض سلام و ادب خدمت همه مخاطبین سایت آموزشی جاوا پرو.در جلسه اول آموزش پروژه محور ساخت برنامه کاهش دهنده حجم عکس در جاوا در خدمت شما هستم.در این آموزش فرض شده شما با نحوه کار با برنامه Netbeans، کار با گرافیک،مفاهیم پایه و شی گرایی جاوا،کار با فایل و لیست ها در جاوا اشنایی دارید و بیشتر قصد داریم با نحوه ساخت و طراحی پروژه برنامه کاهش دهنده عکس در جاوا بپردازیم.
بریم سراغ ساخت برنامه کاهش حجم عکس با کمک زبان برنامه نویسی جاوا
صورت مسئله پروژه: برنامه ای به زبان جاوا بنویسید که تعدادی تصاویر را از محلی از کامپیوتر بخواند و با قابلیت دستکاری طول و عرض و کیفیت تصاویر بتوانیم حجم تصاویر را کاهش داده و در محل خاصی از کامپیوتر مثلا درایو c ذخیره کنیم.
بی توضیح اضافی بریم سراغ پیاده سازی :-)
چیزایی که از صورت سوال برداشت میکنیم تا اینجای کار:
1. زبان پروژه جاوا است.
2. کار با فایل ها بخصوص کار فایل تصویری در جاوا داریم.
3. دستکاری طول و عرض تصویر کار با تغییر اندازه و پیکسل تصاویر در جاوا داریم
4. کار با شیوه دستکاری کیفیت تصاویر در جاوا داریم.
5. کار با نوشتن و ذخیره فایل های تصویر در جاوا داریم.
6. از طرفی چون تعداد فایل های تصویری که قرار از کامپیوتر بگیریم را نمیدانیم کار با لیست های پویا نظیر ArrayList داریم.
7. کار با گرافیک نظیر طراحی فریم و دکمه ها و فیلدها و منو و در کل طراحی ظاهر گرافیکی برنامه که کاربر بتونه به راحتی با چند دکمه عکس هاشو کم حجم کند.
8. کار با متغیرها و متدها و آرایه ها و شی گرایی و شی ساختن و... هم جز روتین کار ما برای نوشتن پروژه های جاواست
9. و سایر مفاهیمی که در طول پیاده سازی پروژه بهش میپردازیم.
10. بازم تاکید میکنم لازم است از قبل شما کار با مفاهیم جاوا se و کار با برنامه Netbaens آشنایی داشته باشید که منابع آموزشی در این زمینه در وب فارسی خداراشکر به شدت زیاد است.
خب بریم سراغ حل:
ببین دوست عزیزم برای حل یک مسئله برنامه نویسی جاوا ابتدا خوب و خوب صورت مسئله رو بخونید و مسئله رو کاملا درک کنید بعد برید سراغ کدنویسی،ببین مسئله چه میخواد ؟به کدوم مفاهیم جاوا برای پیاده سازی مسئله نیاز داریم؟اگه مسئله پروژه گرافیکی است ظاهر گرافیکی برنامه رو با خودکار و کاغذ برای خودت بکش که ذهنیتی نسبت به ظاهر گرافیکی برنامه یا همون رابط کاربری گرافیکی برنامه داشته باشی و مثل پازل تیکه های پروژه رو بهم وصل کنید.به طور خلاصه پروژه رو به تیکه های کوچک تر بشکن برای خود و تیکه تیکه و گام به گام شروع به طراحی پروژه کن.
حالا من اولین کاری که میکنم ظاهر گرافیکی برنامه را با خودکار برای خودم رسم میکنم که ذهنیتی نسبی در مورد ظاهر برنامه داشته باشم: تصویر(1)
پس من قبل از این که برم سراغ برنامه Netbaens و شروع به طراحی ظاهر گرافیکی برنامه و کدنویسی کنم ابتدا با برداشت هایی که از صورت مسئله کردم ظاهر برنامه را در تصویر(1) برای خودم رسم کردم، این ظاهر برنامه نسبی هست ممکنه در طول پیاده سازی برنامه تغییراتی در آن ایجاد کنم اما برای شروع و داشتن ذهنیت از برنامه لازم بود که آن را روی کاغذ پیاده سازی کنم.
در تصویر(1) ظاهر گرافیکی برنامه در جاوا از تعدادی کامپوننت یا همون اجزای گرافیکی در جاوا نظیر Menu و TextField و Slider و label و Button و Frame تشکیل شده است.
Menu : برای open کردن یا دریافت فایل های تصویری خود از کامپیوتر
TextField: برای تنظیم طول و عرض بر حسب پیکسل عکس های تبدیل شده جدید و نامگذاری فولدری که قرار عکس های تبدیل شده در آن قرار بگیرند.
Slider: برای تنظیم کیفیت تصاویر جدید
Label : برای مشخص کردن کاربرد اجزای گرافیکی مربوطه
Button : دکمه ای برای انجام عملیات تبدیل و کاهش حجم تصاویر
Frame: شاسی برنامه برای نگهداری اجزای گرافیکی خود نظیر دکمه ها و لیبل ها و اسلایدر و....
حالا که ذهنیتی نسبی در مورد ظاهر گرافیکی برنامه پیدا کردیم میریم سراغ پیاده سازی ظاهر گرافیکی برنامه کاهش دهنده حجم تصاویر در برنامه Netbaens :
ابتدا یک پروژه جاوا جدید در برنامه Netbaens ایجاد میکنیم:تصاویر(2) تا (5)
همان طور که در تصویر(5) مشاهده میکنید، پروژه جاوا ما با نام Image Compression در برنامه Netbeans ایجاد شده است.ما به کلاس ImageCompression.java نیاز نداریم به همین خاطر روی آن کلیک سمت راست کرده و ان را حذف میکنیم: تصاویر(6) و(7)و(8)
همان طور که در تصویر(8) مشاهده میکنید پروژه Image compression دارای یک پکیج با نام image.compression و بدون کلاس است.
خب برمی گریم به تصویر(1) جایی که ظاهر برنامه را روی کاغذ طراحی کردیم،برنامه در جاوا چون گرافیکی است و از تعدای اجزای گرافیکی تشکیل شده نیاز به ایجاد Frame داریم که نقش شاسی برنامه است و سایر اجزای گرافیکی روی ان قرار میگیرد: برای ایجاد کلاس JFrame در برنامه Netbaens مطابق تصاویر(9) عمل میکنیم:
در تصویر(9) روی نام پروژه Image compression کلیک سمت راست کرده و از بخش new گزینه JFrame Form را انتخاب میکنیم در ادامه نامی برای کلاس Frame خود تعیین نموده و گزینه Finish را انتخاب میکنیم: تصویر(10)
کلاس ایجاد شده با نام Image_Compression_Frame کلاس javax.swing.JFrame را extends و به ارث برده است. چرا؟ چون میخوایم کلاس Image_Compression_Frame نقش Frame برنامه را بازی کند و برای دستیابی به ویژگی ها و رفتارهای کلاس JFrame این کلاس را به ارث برده است. تصویر(11)
همان طور که در تصویر(11) مشاهده میکنید با دابل کلیک کردن روی نام کلاس و در بخش Source، سورس کدهای موجود در کلاس Image_Compression_Frame را مشاهده میکنید.
در بخش Source کدها و دستورات ،ویژگی ها و دستوراتی که قرار برای برنامه به زبان جاوا بنویسیم را میتونیم مشاهده کنیم و کدهای جدیدی به آن اضاف کنیم.
در تصویر(12) در بخش Design ،امکاناتی در اختیار ما قرار گرفته است که از طریق آنها میتوانیم ظاهر گرافیکی برنامه را طراحی کنیم.
مورد شماره 1 : Frame برنامه که مانند یک قالب خام و خالی است و قرار است سایر اجزای گرافیکی خود را با درک اند دراپ کردن (کشیدن و رها کردن) روی آن قرار دهیم.
مورد شماره 2: در بخش Palette کامپوننت ها و اجزای گرافیکی نظیر منو،باتن و لیبل و فیلدها و...قرار دارد که از طریق آنها میتونیم ایده ظاهر گرافیکی خود را طراحی کنیم.
مورد شماره 3:این قسمت که شبیه چشم است برای دیدن تغییراتی که برای ظاهر گرافیکی برنامه اعمال کردیم و مشاهده نتیجه کارمون است. مثلا اگر روی آن الان کلیک کنیم یک فریم خالی را به عنوان برنامه ما نمایش میدهد: تصویر(13)
مورد شماره 4: در بخش Properties میتونیم ویژگی های اجزای گرافیکی خود نظیر اندازه،نام،متن،رنگ ،فونت متن،و...را تنظیم کنیم.
پس به طور خلاصه برای کدنویسی به سراغ بخش Source و برای طراحی ظاهر گرافیکی برنامه سراغ بخش Design کلاسمون میرویم. و خبر خوب این است که برای طراحی ظاهر گرافیکی برنامه نیاز به کدنویسی نیست کار سختی نداریم و تنها با درک اند دراپ کردن (drag and drop ) یا همون کشیدن و رها کردن میتونیم ظاهر گرافیکی را سریع طراحی کنیم.
به طور مثال قصد دارم دو JLabel، یک JButton و سه عدد JTextField رو از بخش Palette با موس بگیرم و بندازم روی JFram برای این کار یکی یکی کامپوننت دلخواه را با موس میگیرم و روی فریم رها میکنم:تصاویر(15) و (16)
پس به راحتی میتونیم با درک اند دراپ کردن اجزای گرافیکی خود را در موقعیت مورد نظر روی فریم قرار بدیم.
خب برای این که این جلسه آموزشی طولانی نشه ادامه اموزش پروژه محور ساخت برنامه کاهش دهنده حجم عکس در جاوا میزاریم برای جلسات بعدی،امیدوارم واضع و روشن آموزش داده باشم.عشق من آموزش دادن است :-)
دوست من آرزوی سعادت و کامیابی رو برات دارم،خدانگهدار
این جلسه آموزشی را میتوانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.
این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)
لینک دانلود کتاب+سورس کد جلسه اول
نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690
بستن دیگر باز نشو! |