آموزش برنامه نویسی جاوا‎‬

آموزش برنامه نویسی جاوا‎‬

تاریخچه زبان برنامه نویسی جاوا

زبان برنامه نویسی جاوا (Java Programming Language) یکی از زبان های برنامه نویسی شاخص در میان زبان های برنامه نویسی سطح بالاست، که در سال ۱۹۹۵ در شرکت سان مایکروسیستمز (Sun Microsystems)، و توسط جیمز گاسلینگ (James Gosling)، مایک شریدن (Mike Sheridan) و پاتریک ناتون (Patrick Naughton) ایجاد شد. هدف اولیه از ایجاد زبان برنامه نویسی جاوا، استفاده در تلویزیون های کابلی بود. اما به مرور، این هدف، تبدیل به ایجاد زبان برنامه نویسی همه منظوره ای شد، که قابلیت اجرا در سیستم های عامل مختلف را داشته باشد.

زبان برنامه نویسی جاوا، در ابتدا با نام بلوط (Oak) و سپس با نام سبز (Green) به عنوان یک پروژه توسط گاسلینگ و همکارانش در حال پیشرفت بود. اما نهایتا، آن ها به دلیل علاقه خاصی که به قهوه جاوا (Java یا Jawa) داشتند، این نام را برای زبان برنامه نویسی جدیدشان انتخاب نمودند. جاوا، نام جزیره ای است در اندونزی که نوع خاصی از قهوه محصول این جزیره است و به نام «قهوه جاوا» یا Java Coffee (یا Jawa Coffee) معروف است.

یک بار بنویسید، همه جا اجرا کنید

مهم ترین خاصیت و فلسفه وجودی زبان برنامه نویسی جاوا این است: یک بار بنویسید، همه جا اجرا کنید یا Write Once, Run Anywhere (به اختصار WORA). با استفاده زبان برنامه نویسی جاوا، برنامه های کامپیوتری، فقط یک بار نوشته می شوند و برای اجرا، نیازی به کامپایل مجدد آن ها، برای سازگاری با سیستم های عامل و سخت افزارهای مختلف نیست. از این رو، این زبان برنامه نویسی، در عرض چند سال، رشد بی نظیری را داشت و هم اکنون، به عنوان اصلی تری زبان در توسعه برنامه های مربوط به سیستم های شبه کامپیوتری مورد استفاده است.

از سال ۱۳۹۵ تا کنون، برنامه های نوشته شده به زبان جاوا، در سیستم های عامل مختلف و در ماشین های مشابه با کامپیوتر (مانند پرینترها، دستگاه های خودپرداز، پارک مترها، دوربین های مداربسته، گوشی های تلفن همراه، مودم ها، روترها، دستگاه های پرداخت عوارض و …) به وفور مورد استفاده واقع شده اند، تا جایی که با آمار مربوط به سال ۲۰۱۴، هم اکنون بیش از ۳ میلیارد دیوایس (ماشین) از جاوا استفاده می کنند. از این نظر، زبان برنامه نویسی جاوا، رکورد دار است و دارای بیشترین تنوع محیط اجرا، در میان زبان های برنامه نویسی است.

در واقع، برنامه های نوشته شده به زبان جاوا، در هنگام کامپایل شدن به یک زبان میانی (Intermediate Language) ترجمه می شود که اصطلاحا به آن بایتکد (Bytecode) گفته می شود، و محتوای آن، در فایل هایی با پسوند class ذخیره می شوند. برنامه های ترجمه شده به بایت کد، مستقل از معماری کامپیوتر و بر روی هر سیستم عاملی قابل اجراست. چرا که برای هر سیستم عاملی، یک برنامه اجرا کننده موسوم به ماشین مجازی جاوا یا Java Virtual Machine (به اختصار JVM)، توسط سازندگان جاوا پیاده سازی شده است و این امکان را فراهم می آورد که بایت کد به صورت یک برنامه کاربردی تحت سیستم عامل مقصد، اجرا شود. این مشابه با الگویی است که در چارچوب کاری دات نت مایکروسافت (Microsoft .NET Framework) و زبان میانی مایکروسافت (MSIL) پیاده سازی شده است.

کاربردهای زبان برنامه نویسی جاوا

به طور ویژه، پس از معرفی سیستم عامل اندروید (Android) برای تلفن های همراه هوشمند و تبلت ها، و معرفی جاوا به عنوان اصلی ترین زبان توسعه برنامه های تحت اندروید، اقبال عمومی به استفاده از آن، بیشتر شد و این زبان جایگاه ویژه تری در میان سایر زبان های برنامه نویسی به دست آورد. از طرفی، برنامه های علمی و فنی بسیاری نیز، با استفاده از جاوا پیاده سازی شده اند که کاربردهای فراوانی در حوزه های مختلف صنعت و پژوهش دانشگاهی دارند. از این میان، می توان به نرم افزار وکا (WEKA) اشاره نموده که ابزاری برای داده کاوی است و به صورت کامل در زبان برنامه نویسی جاوا پیاده سازی شده است.

گذشته از پیاده سازی برنامه های کاربردی برای اجرا در کامپیوترها و موبایل های هوشمند، بسیاری از وبسایت ها، از امکانات موجود در جاوا، برای پیاده سازی ساختار دینامیکی استفاده نموده اند و امروزه، جاوا با استفاده در بیش از ۱۴ درصد از کل وبسایت های دنیا، پس از PHP پرکاربردترین زبان برنامه نویسی در عرصه برنامه نویسی وب و پیاده سازی وبسایت های پویاست.

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

مجموعه فیلم های آموزشی برنامه نویسی جاوا، با این فرض تهیه شده است که مخاطب هیچ دانش و تجربه قبلی در زمینه برنامه نویسی ندارند، و در طی ۲۳ درس، مخاطب را به صورت کامل با زبان برنامه نویسی جاوا، و امکانات مختلف آن آشنا می کند. در این مجموعه آموزشی، همه مباحث با بیان و تشریح مبانی نظری و سپس با پیاده سازی گام به گام مثال های عملی آموزش داده می شوند و از این نظر، در ایجاد یک دانش عمیق در زمینه برنامه نویسی، بسیار کارآمد است. به طور خاص، در این مجموعه آموزشی، از آخرین نسخه زبان برنامه نویسی جاوا (Java 8) استفاده شده است و مباحث مربوط به برنامه نویسی شیئ گرا (به همراه مبانی نظری) و برنامه نویسی رابط های گرافیکی (طراحی و برنامه نویسی GUI) نیز مورد بحث و بررسی قرار گرفته اند.

در این مجموعه آموزشی، از نسخه ۸ جاوا استفاده شده است و از محیط NetBeans IDE (نسخه ۸٫۰٫۲) برای پیاده سازی پروژه ها و برنامه ها استفاده شده است. در کنار بحث بر روی مولفه های مختلف برنامه نویسی جاوا، به طور خاص، بر ویژگی های جدیدی که در نسخه هشتم جاوا ارائه شده اند، تاکید شده است. مانند سایر آموزش های فرادرس، در طی این دوره آموزشی نیز، همه برنامه ها و پروژه های مورد بحث در درس ها، به صورت گام به گام و کاملا از ابتدا ایجاد و پیاده سازی شده اند.

یکی از ویژگی های مهم این دوره آموزشی، ایجاد امکان آشنایی با متدهای برنامه نویسی پیشرفته (به ویژه برنامه نویسی شیئ گرا و مفاهیم اساسی مربوط به آن) است. چرا که در کنار مباحث عملی مطرح شده در این دوره، مبانی نظری، مفهومی و تئوری روش های برنامه سازی پیشرفته نیز، مورد بحث و بررسی واقع شده اند، که این موضوع می تواند مخاطبان این دوره را، در درک عمیق تر مفاهیم مربوط به برنامه نویسی پیشرفته و به ویژه برنامه نویسی شیئ گرا، یاری کند.

مدرس این مجموعه آموزش، دکتر سید مصطفی کلامی هریس (دکترای مهندسی کنترل از دانشگاه صنعتی خواجه نصیرالدین طوسی) است، که در کنار تسلط بر زبان های برنامه نویسی متعدد، نظیر ++C (سی پلاس پلاس)، #C (سی شارپ)، PHP (پی اچ پی)، Java (جاوا)، ویژوال بیسیک (Visual Basic یا VB)، ویژوال بیسیک دات نت (Visual Basic .net)، و متلب (MATLAB)، سابقه تدریس دوره های آموزشی برنامه نویسی مختلف را در فرادرس و سایر موسسات آموزشی، از سال ۱۳۸۰ تا کنون داشته داشته است.

 

 

این مجموعه آموزشی، در قالب ۲۳ درس ارائه شده است که در هر درس، مباحث مختلفی مورد بحث قرار گرفته اند. فهرست کامل سرفصل های مربوط به این درس ها، در ادامه آمده است.

 

درس یکم: آشنایی با جاوا و مباحث مقدماتی

  • آشنایی با زبان برنامه نویسی جاوا (Java)
  • مروری بر تاریخچه زبان برنامه نویسی جاوا
  • آشنایی با نگارش ها و نسخه های مختلف زبان برنامه نویسی جاوا
  • معرفی Java Runtime Environment یا JRE و آشنایی با شیوه نصب آن
  • معرفی Java Development Kit یا JDK و آشنایی با شیوه نصب آن
  • آشنایی با محیط های توسعه برنامه های جاوا
  • معرفی NetBeans IDE و آشنایی با شیوه نصب آن
  • آشنایی اولیه با محیط نرم افزار NetBeans
  • پیاده سازی اولین پروژه با زبان برنامه نویسی جاوا (پروژه Hello World)
  • آشنایی با فرمت Jar

 

درس دوم: اجزای سازنده برنامه ها و انواع داده ها در جاوا [رایگان]

  • فراخوانی مجددا برنامه HelloWorld از جلسه قبلی
  • آموزش نحوه اجرای صحیح برنامه های کنسولی تحت جاوا با اعمال تغییرات در رجیستری (Registry) ویندوز
  • بررسی بخش های مختلف برنامه HelloWorld
  • آشنایی با کلاس System و شیئ System.out
  • آشنایی با تابع (متد) System.out.println و System.out.print
  • آشنایی با کاراکترهای خاص و Escape Sequence
  • آشنایی با تابع System.out.format و نحوه فرمت بندی اعداد و رشته ها
  • آشنایی با فرمت %d و %f برای نمایش و فرمت بندی اعداد
  • آشنایی با فرمت %s برای نمایش و فرمت بندی متن ها
  • انواع داده های اصلی یا Primitive Data Types در جاوا
  • نحوه دریافت ورودی از کاربر، از طریق شیئ System.in و کلاس Scanner
  • استفاده از کلاس Scanner برای ایجاد انتظار

 

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

  • آشنایی با ساختارهای کنترل برنامه
  • ساختارهای تصمیم گیری یا انتخاب (Selection)
  • حلقه های تکرار (Repetition Loop)
  • دستور if و if/else برای تصمیم گیری و انشعاب در برنامه
  • آشنایی با عملگرها یا Operators در جاوا
  • عملگر مقداردهی یا Assignment
  • عملگرهای محاسباتی (جمع، تفریق و …)
  • عملگرهای قیاسی و رابطه ای
  • عملگرهای منطقی (نقیض، ترکیب عطفی و فصلی)
  • عملگر شرطی (?:)
  • بررسی اولویت عملگرها نسبت به یکدیگر

 

درس چهارم: ساختارهای کنترل و تکرار در جاوا

  • دستور switch برای پیاده سازی تصمیم گیری و انشعاب چند گانه
  • دستور while برای پیاده سازی حلقه های تکرار محدود و نامحدود
  • دستور do/while برای پیاده سازی حلقه تکرار با حداقل یک بار اجرا
  • حلقه تکرار for برای پیاده سازی حلقه های تکرار محدود و مشخص

 

درس پنجم: مبانی برنامه نویسی شیئ گرا [رایگان]

  • آشنایی با مبانی برنامه نویسی شیئ گرا یا ObjectOriented Programming (به اختصار OOP)
  • آشنایی با مفهوم کلاس (Class) و شیئ (Object)
  • پیاده سازی یک کلاس ساده برای محاسبات مربوط به مثلث قائم الزاویه
  • پیاده سازی سازنده (Constructor)
  • پیاده سازی متدها و توابع در کلاس
  • پیاده سازی توابع get و set برای شبیه سازی ویژگی (Property)
  • مفهوم داده های ارزشی (Value Types) و ارجاعی (Reference Types)
  • آشنایی با کلاس رشته یا String برای ذخیره سازی و مدیریت رشته ها

 

درس ششم: مبانی برنامه نویسی گرافیکی در جاوا

  • آشنایی با کتابخانه AWT یا Abstract Window Toolkit
  • آشنایی با کتابخانه Swing برای پیاده سازی برنامه های گرافیکی
  • آشنایی با کلاس JOptionPane برای نمایش انواع کادرهای گفتگو
  • آشنایی با متد JOptionPane.showMessageDialog برای نمایش کادر پیام
  • آشنایی با متد JOptionPane.showInputDialog برای دریافت ورودی از کاربر
  • آشنایی با کلاس JPanel و توسعه آن برای ترسیم گرافیکی
  • آشنایی با سیستم مختصات گرافیکی در جاوا
  • بازنویسی یا Override کردن تابع paintComponent برای ترسیم گرافیکی
  • آشنایی با کلاس Graphics و ترسیم با آن
  • ترسیم خط با استفاده از متد Graphics.drawLine
  • آشنایی با کلاس JFrame برای اجرای برنامه های گرافیکی
  • تنظیم و نمایش پنجره با استفاده از کلاس JFrame
  • پیاده سازی نخستین برنامه گرافیکی در جاوا
  • ترسیم طرح های گرافیکی جالب با استفاده از حلقه های تکرار و شیئ Graphics
  • تغییر رنگ ترسیم در شیئ Graphics با متد Graphics.setColor
  • ترسیم و پر کردن مستطیل (و مربع) با استفاده از توابع drawRect و fillRect
  • ترسیم و پر کردن بیضی (و دایره) با استفاده از متدهای drawOval و fillOval
  • نمایش و ترسیم متن با استفاده از متد drawString

 

درس هفتم: تعریف متدها و توابع در کلاس ها و تولید اعداد تصادفی

  • تعریف متدهای استاتیک یا static و فراخوانی آن ها
  • پیاده سازی کلاس EquationSolver برای حل معادلات جبری (مثال)
  • حل معادله درجه اول و معادله درجه دوم با استفاده از کلاس EquationSolver
  • آشنایی با مفهوم Overloading ایجاد متدهای هم نام با امضای متفاوت
  • پیاده سازی و تعریف کلاس اعداد مختلط (Complex) برای آشنایی بیشتر با مفاهم برنامه نویسی شیئ گرا
  • پیاده سازی سازنده های چندگانه یا Overloaded Constructors
  • پیاده سازی ویژگی ها با استفاده از توابع get و set
  • پیاده سازی ویژگی های فقط خواندنی و وابسته با تعریف متد get
  • پیاده سازی و کاربرد تابع toString برای کلاس ها
  • استفاده از متد String.format برای ایجاد و قالب بندی رشته ها
  • پیاده سازی چهار عمل اصلی (جمع، تفریق، ضرب و تقسیم) برای کلاس اعداد مختلط
  • تعریف مقادیر ثابت و پر استفاده به صورت final (غیر قابل تغییر)
  • محاسبه فاز و قدر مطلق (اندازه) برای اعداد مختلط
  • پیاده سازی متد مزدوج یا Conjugate برای کلاس اعداد مختلط
  • آشنایی با کتابخانه های استاندارد جاوا و کاربرد آن ها
  • آشنایی با کلاس java.util.Random برای تولید اعداد تصادفی
  • استفاده از متد Random.nextInt برای تولید اعداد تصادفی صحیح
  • پیاده سازی برنامه پرتاب تاس شش وجهی و محاسبه احتمالات آن

 

درس هشتم: آرایه ها و لیست های آرایه ای جنریک

  • آشنایی با مفهوم آرایه یا Array و کاربرد آن
  • آشنایی با روش های مختلف تعریف آرایه در جاوا
  • شیوه اندیس گذاری و ارجاع به مولفه های آرایه ها
  • بازنویسی برنامه شبیه سازی پرتاب تاس با استفاده از آرایه ها
  • آشنایی با حلقه for توسعه یافته برای کار بر روی آرایه ها
  • انجام محاسبات آماری پایه روی اعضای یک آرایه عددی
  • پیاده سازی توابعی از آرایه ها برای انجام محاسبات
  • محاسبه میانگین اعضای یک آرایه
  • محاسبه واریانس و انحراف معیار اعضای یک آرایه
  • نحوه ارسال آرایه به یک تابع و بررسی تغییر پذیری آن
  • آرایه های چند بعدی یا Array of Arrays
  • نحوه تعریف توابع با تعداد پارامترهای متغیر یا Variablelength Argument List
  • پیاده سازی تابع Maximum به صورت یک تابع با تعداد پارامتر متغیر
  • آشنایی با کلاس Arrays برای کار بر روی آرایه ها
  • نمایش آرایه ها به صورت متنی با استفاده از متد Arrays.toString
  • مرتب سازی آرایه ها با استفاده از متد Arrays.sort
  • جستجوی باینری در آرایه ها با استفاده از تابع Arrays.binarySearch
  • ایجاد کپی از یک آرایه با استفاده از متد Arrays.copyOf
  • آشنایی با کلکسیون جنریک ArrayList
  • آشنایی با مفهوم داده ها و کلاس های جنریک یا Generic
  • پیاده سازی آرایه ها و لیست های پویا با استفاده از ArrayList
  • مدیریت اعضای یک لیست با ArrayList.add و ArrayList.remove

 

درس نهم: مدیریت حالات استثنائی در جاوا

  • آشنایی با مفاهیم پایه ای مدیریت حالات استثنائی یا Exception Handling
  • آشنایی با دستور try / catch / finally برای مدیریت حالات استثنائی
  • آشنایی با کلاس Exception و انواع دیگر حالات استثنایی
  • آشنایی با کلمه کلیدی throws و کاربرد آن در تعریف توابع و متدها
  • آشنایی با کلمه کلیدی throw برای ایجاد خطا و حالات استثنائی
  • مدیریت چند حالت استثنایی به صورت هم زمان

 

درس دهم: داده های شمارشی در جاوا [رایگان]

  • آشنایی با نوع داده شمارشی یا Enumeration
  • تعریف داده های شمارشی با دستور enum
  • بررسی کاربردهای enum و داده های شمارشی
  • تعریف یک enum دارای سازنده و ذخیره مقادیر پیش فرض
  • آشنایی با کلاس EnumSet برای کار با داده های شمارشی
  • متد EnumSet.range برای ایجاد بازه ای از مقادیر یک enum

 

درس یازدهم: وراثت یا Inheritance در برنامه نویسی شیئ گرا

  • آشنایی با مفهوم وراژت یا Inheritance در برنامه نویسی شیئ گرا
  • بیان مثال هایی از کاربردها و اهمیت ارث بری در مهندسی نرم افزار
  • تعریف کلاس Shape برای ذخیره سازی اطلاعات یک شکل
  • توسعه و ارث بری از کلاس Shape برای تعریف کلاس دایره یا Circle
  • توسعه و ارث بری از کلاس Shape برای تعریف کلاس مستطیل یا Rectangle
  • تعریف تابع toString به صورت مجزا برای هر کلاس
  • ذخیره انواع داده فرزند (Subclass) در متغیری از نوع کلاس مادر (Superclass)
  • آشنایی با کلاس Object و ویژگی ها و توابع آن

 

درس دوازدهم: دستورهای ترسیمی تکمیلی، ترسیم تصادفی و کنترل JLabel [رایگان]

  • مرور مجدد برنامه نویسی گرافیکی و ترسیم در جاوا
  • ترسیم کمان با استفاده از تابع Graphics.drawArc
  • پر کردن کمان و ترسیم قاچ با استفاده از متد fillArc
  • تغییر رنگ پس زمینه با استفاده از متد setBackground
  • ترسیم طرح یک رنگین کمان با استفاده از حلقه for و تابع fillArc
  • آشنایی با کلاس Color و شیوه ساخت رنگ های دلخواه
  • آشنایی با کدهای رنگی RGB و HSB
  • تولید رنگ های طیف رنگین کمان با استفاده از کد رنگی HSB و تغییر مقدار Hue
  • توسعه و بهبود برنامه مربوط به ترسیم رنگین کمان
  • تعریف کلاس های اشکال برای انجام عملیات ترسیم گرافیکی
  • تعریف کلاس MyLine برای ترسیم خط با تنظیمات اختصاصی
  • تعریف کلاس MyCircle برای ترسیم دایره با تنظیمات اختصاصی
  • استفاده از کلاس Random برای تولید و ترسیم اشکال تصادفی
  • استفاده از کلاس Random برای تولید رنگ های تصادفی
  • آشنایی با کلاس JLabel برای نمایش متن در پنجره های گرافیکی
  • تنظیم محل و شیوه نمایش کنترل JLabel بر روی پنجره
  • نمایش تصویر با استفاده از کلاس JLabel
  • فراخوانی و نمایش تصاویر از فایل ها با استفاده از تابع getResource

 

درس سیزدهم: چند ریختی یا Polymorphism در برنامه نویسی شیئ گرا

  • آشنایی با مفهوم چند ریختی یا Polymorphism در برنامه نویسی شیئ گرا
  • بیان مثال هایی از کاربردها و اهمیت چند ریختی در مهندسی نرم افزار
  • آشنایی با مفهوم کلاس ها و متدهای مجرد یا abstract
  • توسعه برنامه مربوط به اشکال هندسی (از درس یازدهم) با مفاهیم چند ریختی
  • تعریف توابع مجرد محیط (Perimeter) و مساحت (Area) برای کلاس شکل
  • تعریف کلاس مربع یا Square با ارث بری از کلاس مستطیل یا Rectangle
  • تعریف آرایه ای از اشکال و ذخیره سازی اشکال مختلف در آن
  • بررسی مفهوم برنامه نویسی عمومی با پیاده سازی تابع toString
  • آشنایی با مفهوم رابط یا Interface
  • بررسی خواص رابط ها و مزایای استفاده از آن ها
  • ارث بری چندگانه با استفاده از رابط ها (interface ها)
  • آشنایی با رابط های اینترفیس های استاندارد و پر کاربرد در جاوا

 

درس چهاردهم: طراحی و برنامه نویسی رابط های گرافیکی کاربری یا GUI

  • بررسی دقیق تر کلاس JOptionPane برای نمایش کادرهای پیام
  • نمایش پیام های چند گزینه ای با تابع JOptionPane.showOptionDialog
  • تنظیم گزینه های نمایش داده شده در کادرهای پیام
  • سفارشی سازی متن گزینه های نمایش داده شده در کادرهای پیام
  • بررسی نتایج خروجی مربوط به نمایش کادرهای پیام چند گزینه ای
  • آشنایی با مولفه ها و کنترل های گرافیکی Swing
  • افزودن کنترل ها به پنجره و تغییر شیوه نمایش آن ها
  • افزودن یک فیلد متنی JTextField برای دریافت متن از کاربر
  • پاسخگویی به رویداد ها
  • پاسخگویی به رویداد تغییر متن یک کادر متنی به چهار روش مختلف
  • استفاده از کلاس داخلی با نام (Named Inner Class) برای پاسخگویی به رویداد
  • استفاده از کلاس داخلی بدون نام (Anonymous Inner Class) برای پاسخگویی به رویداد
  • استفاده از عبارت های لاندا یا Lambda Expression (رویکرد جاوا ۸)
  • استفاده از ارجاع به متد (Method Reference) با عملگر ::
  • آشنایی با طراح رابط گرافیکی نت بینز یا NetBeans IDE
  • طراحی یک برنامه گرافیکی و انجام محاسبات ساده با استفاده از کادرهای متنی
  • تعریف رویدادها با استفاده از ابزار طراحی GUI
  • پاسخگویی به رویداد اصلی کادر متنی
  • پاسخگویی به رویداد KeyPressed از کادر متنی برای بهبود نتیجه
  • پاسخگویی هم زمان به رویداد های دو کادر متنی

 

درس پانزدهم: بررسی کنترل های GUI و برنامه های گرافیکی

  • آشنایی با المان ها و کنترل های رابط گرافیکی Swing
  • نمایش متن ثابت با JLabel
  • کنترل دکمه یا JButton
  • کنترل دکمه حالت دار یا JToggleButton
  • چک باکس یا JCheckbox
  • دکمه های رادیویی یا JRadioButton
  • تعریف گروه برای دکمه های رادیویی با استفاده از JButtonGroup
  • لیست افتادنی یا JComboBox
  • کادر متنی یا JTextField
  • کادر لیستی یا JList و حالت های مختلف انتخابی آن
  • کادر متنی بزرگ یا JTextArea
  • کنترل لغزنده یا JSlider برای تنظیم داده عددی
  • نوار پیشرفت یا JProgressBar
  • کادر متنی دارای قالب یا JFormattedTextField
  • کادر متنی رمز عبور یا پسورد (JPasswordField)
  • کادر افزایشی یا JSpinner برای نمایش اعداد، رشته های و تاریخ
  • لیست درختی یا JTree برای نمایش داده های درختی
  • لیست جدولی یا JTable برای نمایش داده های جدولی
  • تغییر قالب ظاهری برنامه های گرافیکی یا Look and Feel
  • استفاده از تابع setLookAndFeel برای تغییر ظاهر برنامه ها
  • یافتن فهرست اسکین ها یا تم های نصب شده در سیستم
  • بررسی قالب Nimbus
  • بررسی قالب Metal
  • بررسی قالب CDE/Motif
  • بررسی قالب Windows
  • بررسی قالب Windows Classic
  • پاسخگویی به رویداد تغییر حالت CheckBox
  • پیاده سازی یک پروژه برای تغییر حالت فونت یک کنترل متنی
  • آشنایی با کلاس Font و تنظیمات آن
  • جلوگیری از تغییر اندازه پنجره برنامه با تغییر خاصیت resizable

 

درس شانزدهم: پاسخگویی به رویدادهای ماوس و پیاده سازی یک برنامه نقاشی [رایگان]

  • بررسی انواع رویدادهای مربوط به ماوس (حرکت و کلیک)
  • بررسی رویداد mousePressed
  • بررسی رویداد mouseClicked
  • بررسی رویداد mouseReleased
  • بررسی رویداد mouseEntered
  • بررسی رویداد mouseExited
  • بررسی رویداد mouseMoved
  • بررسی رویداد mouseDragged
  • پاسخگویی به رویداد حرکت ماوس بر روی یک کنترل JPanel
  • بررسی پارامترهای یک رویداد مربوط به ماوس یا MouseEvent
  • یافتن مختصات و نوع کلیک انجام شده در یک رویداد مربوط به ماوس
  • ایجاد یک کلاس فرزند برای JPanel برای ترسیم با ماوس
  • پیاده سازی یک برنامه نقاشی با ماوس ساده با استفاده از جاوا
  • استفاده از یک آرایه لیستی یا ArrayList برای ذخیره سازی محل های ترسیم
  • پیاده سازی حلقه تکرار for با استفاده از تکرار کننده یا Iterator
  • جایگزینی حلقه for با استفاده از توابع stream و forEach از آرایه لیستی
  • افزودن یک دکمه برای پاک کردن طرح ترسیمی

 

درس هفدهم: پاسخگویی به رویدادهای صفحه کلید

  • بررسی انواع رویدادهای صفحه کلید
  • بررسی رویداد keyPressed
  • بررسی رویداد keyTyped
  • بررسی رویداد keyReleased
  • بررسی پارامترهای یک رویداد مربوط به صفحه کلید یا KeyEvent
  • نمایش کلید فشار داده شده به شکل های مختلف در صفحه نمایش
  • تشخیص و نمایش کلید های تغییر دهنده (شیفت، کنترل و آلت)
  • تشخیص ترکیب کلیدی و انجام عملیات به خصوص در هنگام فشرده شدن آن
  • استفاده از ترکیب کلیدی برای تغییر رنگ پس زمینه یک JFrame

 

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

  • توسعه برنامه نقاشی نوشته شده در درس شانزدهم و افزودن رنگ ترسیم به آن
  • ایجاد رنگ با استفاده از کنترل های لغزنده یا JSlider
  • نمایش رنگ در یک JPanel به عنوان نمونه
  • تغییر رنگ کادر ترسیم هم زمان با تغییر رنگ انتخابی
  • ذخیره سازی رنگ هر نقطه ترسیمی به همراه مختصات
  • تصحیح عملکر دکمه پاک سازی یا Clear
  • انتخاب رنگ با استفاده از کادر انتخاب رنگ یا JColorChooser
  • تنظیم رنگ پیش فرض در کادر انتخاب رنگ
  • آشنایی با تابع Graphics.drawRoundRect و Graphics.fillRoundRect برای ترسیم مستطیل گرد گوشه
  • ترسیم کادرهای دارای افکت سه بعدی با استفاده از draw3DRect و fill3DRect
  • ترسیم چند ضلعی با استفاده از drawPolygon
  • ترسیم چند خط متوالی با استفاده از polyLine
  • آشنایی با شیئ Graphicd2D و قابلیت های آن
  • تبدیل شیئ Graphics به Graphics2D
  • ترسیم با استفاده از اشیاء هندسی به جای متدها
  • تنظیم ضخامت ترسیم و قلم با استفاده از تابع setStroke
  • ایجاد قلم با ضخامت دلخواه با استفاده از BasicStroke
  • تنظیم رنگ برای پر کردن اشکال با استفاده از setPaint
  • ایجاد الگوی تغییر تدریجی رنگ با استفاده از GradientPaint
  • ترسیم اشکال با تغییر رنگ تدریجی

 

درس نوزدهم: طراحی رابط های گرافیکی با JavaFX

  • آشنایی با کتابخانه JavaFX و طراحی رابط های گرافیکی با آن
  • ایجاد یک برنامه پایه ای با استفاده از JavaFX و بررسی ویژگی های آن
  • آشنایی با مفهوم Stage و Scene در برنامه های JavaFX
  • معرفی ابزار SceneBuilder برای طراحی گرافیکی مبتنی بر JavaFX
  • آموزش نحوه نصب ابزار Gluon Scene Builder و دریافت آن از وبسایت Gloun
  • آشنایی با فرمت و زبان fxml برای توصیف طرح های گرافیکی JavaFX
  • بررسی ساختار برنامه JavaFX مبتنی بر FXML
  • استفاده از ابزار SceneBuilder برای طراحی رابط های گرافیکی JavaFX
  • مرور کنترل های JavaFX و کاربرد آن ها
  • استفاده از کنترل ColorPicker برای انتخاب رنگ
  • استفاده از کنترل Circle برای نمایش یک دایره با رنگ دلخواه
  • افزودن یک دکمه فرمان یا Command Button و پاسخگویی به رویداد آن
  • اتصال کنترل انتخاب رنگ و دایره برای نمایش رنگ منتخب
  • نحوه تعریف رویدادها در کلاس کنترل کننده یا Controller
  • آشنایی با عبارت کلیدی @FXML برای لینک میان fxml و کنترل کننده

 

درس بیستم: پیاده سازی برنامه محاسبه کننده مبلغ اقساط وام بانکی با جاوا [رایگان]

  • بررسی مبانی ریاضی شیوه محاسبه اقساط وام
  • پیاده سازی کلاس Loan برای انجام محاسبات مربوط به وام (سود، مبلغ قسط، سود کل و …)
  • طراحی یک JFrame با الگوی جدولی یا Grid
  • افزودن کنترل های ورودی از نوع Spin برای دریافت ورودی های مسأله
  • محاسبه اطلاعات مربوط به وام با دریافت ورودی ها از کنترل های ورودی
  • نمایش نتایج در کنترل های خروجی

 

درس بیست و یکم: پیاده سازی یک ماشین حساب در جاوا

  • بررسی عملکرد یک برنامه ماشین حساب
  • ایجاد پنجره برنامه و افزودن کنترل ها
  • گروه بندی دکمه ها (عددی، عملیاتی و مساوی)
  • پیاده سازی نمایش اعداد در صفحه نمایش ماشین حساب
  • پیاده سازی عملگرها
  • انجام محاسبات با استفاده از کلید مساوی
  • پیاده سازی دکمه Backspace برای پاک کردن اعداد وارد شده
  • پیاده سازی کدمه Clear برای پاک سازی کلیه ورودی ها
  • ایجاد دکمه تغییر علامت (مثبت و منفی) برای وارد کردن اعداد علامت دار
  • اتصال رویداد صفحه کلید و پاسخگویی از طریق صفحه کلید
  • پیاده سازی گام به گام همه مراحل و عملیات های مورد نیاز

 

درس بیست و دوم: آشنایی با رفرنس های تابعی در جاوا ۸ و پیاده سازی یک پروژه محاسباتی

  • تعریف مسأله ریشه یابی و حل معادلات به صورت عددی
  • آشنایی با روش دو بخشی یا تنصیف (Bisection) برای حل معادلات به صورت عددی
  • تشریح کامل نحوه عملکرد الگوریتم Bisection
  • آشنایی با کتابخانه java.util.function و اعضای آن
  • تعریف متغیرهایی از نوع تابع با استفاده از رابط های موجود در java.util.function
  • آشنایی با نوع داده جنریک Function
  • نحوه فراخوانی رفرنس های تابعی با استفاده از متد apply
  • تعریف کلاس BisectionMethod برای پیاده سازی روش دو بخشی
  • تعریف یک ویژگی از نوع Function برای کلاس BisectionMethod
  • پیاده سازی گام به گام و کامل الگوریتم دوبخشی با استفاده از جاوا برای حل معالات به صورت عددی
  • فراخوانی روش دو بخشی روی چند تابع
  • تعریف توابع با استفاده از عبارات لاندا یا Lambda Expressions

 

درس بیست و سوم: پیاده سازی بازی دوز یا TicTacToe در جاوا

  • بررسی مدل و قوانین بازی دوز یا TicTacToe به صورت کامل
  • پیاده سازی جدول بازی با استفاده از نه دکمه یا JButton
  • پاسخگویی به رویداد هر یک از دکمه ها به صورت مناسب
  • بررسی حالت بازی در هر مرحله و نمایش پیام مناسب
  • تشخیص حالت برد هر یک از بازیکن ها با بررسی خانه های جدول
  • تشخیص حالت مساوی میان بازیکن ها
  • ساده سازی برنامه با تعریفی آرایه ای از کنترل ها
  • فعال سازی دکمه Reset به محض مشخص شدن نتیجه بازی
  • جمع بندی مباحث مطرح شده

 

 

برای مشاهده جزئیات و تهیه آموزش برنامه نویسی جاوا‎‬ به این لینک (+) مراجعه نمایید.

 




0 پاسخ

ارسال یک پاسخ

در گفتگو ها شرکت کنید.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *