این آموزش در تاریخ ۱۵ بهمن ۱۳۹۶ منتشر شده بود و در تاریخ ۱۴ شهریور ۹۸ آپدیت شد.

زبان جاوا یک زبان برنامه نویسی شی گراست و از زبان‌های کامپایلری–مفسری محسوب می‌شود. شعار زبان برنامه نویسی جاوا Write once, Run anywhere و به معنای “یک بار بنویس، همه جا اجرا کن” است.

معنای این شعار این است که برنامه‌های نوشته شده با جاوا مستقل از سیستم عامل بوده و می‌توانیم یک برنامه را با همان شکل و شمایل در سیستم عامل‌های ویندوز، لینوکس و مک اجرا کنیم.

به یاد داشته باشید برای یادگیری برنامه‌نویسی هیچ‌وقت دیر نیست!

در آموزش جاوا به زبان ساده ، زبان جاوا از صفر و بدون هیچ پیش‌نیازی توضیح داده شده است و شما با هر سن و سطح تحصیلاتی می‌توانید از آن استفاده کنید.

همچنین آموزش‌ها به‌گونه‌ای تدریس شده است که شما برنامه‌نویسی را یاد بگیرید و تفکر برنامه‌نویسی در شما شکل بگیرد. شاید ظاهر برخی سرفصل‌های آموزش همان مباحث تکراری کلاس‌های برنامه‌نویسی باشد، اما همان مباحث ساده دارای نکاتی می‌باشند که در کلاس‌های برنامه‌نویسی و دانشگاه‌ها به آن پرداخته نمی‌شود.

یکی دیگر از ویژگی‌های آموزش پروژه محور جاوا ، وجود حل تمرین است که بیش از ۹۰ سؤال را در مباحث مختلف مورد بررسی قرار دادیم تا علاوه بر آموزش، منبعی برای تمرین نیز در اختیار داشته باشید.

پس‌ازاینکه تمامی نکات پایه‌ای جاوا را فراگرفتید، نوبت به نوشتن پروژه می‌رسد:

اولین پروژه‌ای که در مجموعه مورد بررسی قراردادیم، ساخت یک ماشین‌حساب حرفه‌ای است. بااینکه در این بخش ماشین‌حساب را به‌صورت کامل پیاده‌سازی کردیم، ولی هدف از این پروژه فقط ساخت یک ماشین‌حساب نبوده و نکات بسیار زیادی را موردبررسی قراردادیم.

پس از تکمیل ماشین‌حساب، نحوه خروجی گرفتن، ساخت فایل نصب، تبدیل فایل jar به exe، اجرای فایل jar بدون نیاز به jre و … را نیز بررسی کردیم و همان‌طور که در تصویر نیز مشاهده می‌کنید، همان پروژه را هم در سیستم‌عامل ویندوز و هم در لینوکس اجرا کردیم.

آموزش پروژه محور جاوا , آموزش تصویری برنامه نویسی جاوا , فیلم آموزش برنامه نویسی جاوا , آموزش جاوا به زبان ساده , آموزش جاوا

دومین بخش پروژه محور مربوط به کار با پایگاه داده است. در این آموزش، از پایگاه داده SQLite به دلیل سبک و قابل‌حمل بودن استفاده کردیم. با نکاتی که در این بخش موردبررسی قراردادیم، به‌راحتی می‌توانید پروژه‌هایی بنویسید که به یک پایگاه داده متصل شود.

نکته مهمی که در این زمینه وجود دارد این است که ارتباط با پایگاه داده‌ها در جاوا از طریق JDBC انجام می‌شود و یک روش استاندارد است. یعنی وقتی شما کار با JDBC را یاد بگیرید می‌توانید با هر پایگاه داده‌ای ارتباط برقرار کنید.

آموزش پروژه محور جاوا , آموزش تصویری برنامه نویسی جاوا , فیلم آموزش برنامه نویسی جاوا , آموزش جاوا به زبان ساده , آموزش جاوا

سومین پروژه ای که در این مجموعه مورد بررسی قرار دادیم، ساخت یک نرم افزار مدیریت هتل است. این آموزش بیشتر از آنکه پروژه محور باشد، نکته محور است. در یک آموزش نکته محور سعی می شود تا فقط نکات جدید توضیح داده شود و از بررسی نکات تکراری پرهیز شود. برای مثال اگر شما در یک بخش از آموزش نحوه محدود کردن تعداد کاراکتر های تایپ شده در یک فیلد را یاد بگیرید، می توانید این کار را برای ۱۰ فیلد دیگر هم انجام دهید. در این پروژه از پایگاه داده SQL Server استفاده کردیم و در انتها نیز نحوه نصب SQL Server روی لینوکس و همچنین نحوه ساخت فایل ستاپ از پروژه با نرم افزار Advanced Installer توضیح داده شده است. در ادامه تعدادی از تصاویر این پروژه را می توانید مشاهده کنید :

نرم‌افزارهای موردنیاز آموزش پروژه محور جاوا:

  • NetBeans
  • JDK

سرفصل های آموزش:

  • آشنایی با زبان جاوا
    • تاریخچه زبان جاوا
    • انواع پیاده سازی زبان های برنامه نویسی
    • (Translator (Compiler
    • Interpreter
    • Intermediate Code
    • نحوه پیاده سازی زبان جاوا
    • آشنایی با ماشین مجازی جاوا (Java Virtual Java)
    • آشنایی با JRE
    • آشنایی با JDK
    • آشنایی با تعریف پلتفرم های جاوا
    • Java SE
    • Java EE
    • Java ME
    • JavaFX
    • معرفی انواع IDE های زبان جاوا
    • نصب JDK
    • نصب NetBeans
    • معرفی JDK به NetBeans
    • کامپایل یک برنامه ساده با javac
    • اضافه کردن پوشه JDK به Environment Variables
  • کاراکتر های کنترلی در Java
    • آشنایی با ساختار فایل .java
    • آشنایی با متد Main
    • آشنایی با ویژگی IntelliSense در Netbeans
    • آشنایی با ویژگی های نوشتاری زبان جاوا
    • استفاده از print و println
    • انواع خطا های برنامه نویسی
    • خطای کامپایلری
    • خطای منطقی
    • خطای حین اجرا
  • کاراکتر های کنترلی (Control Characters)
    • Insert a tab
    • Insert a backspace
    • Insert a newline
    • Insert a carriage return
    • Insert a single quote
    • Insert a double quote
    • Insert a backslash
    • افزودن Comment به کد ها
  • متغیر ها (Variables)
    • تعریف یک متغیر
    • استاندارد های نام گذاری متغیر ها
    • آشنایی با انواع داده اولیه (Primitive data type)
    • متغیر های final
    • تفاوت Literal و Constant
  • بررسی متد printf
  • تبدیل انواع داده به یکدیگر (Conversion)
    • تبدیل ضمنی (implicit)
    • تبدیل صریح (Explicit)
    • Type Casting
    • Arithmetic overflow (سر ریز محساباتی در تبدیلات)
    • تبدیل رشته ها به انواع داده دیگر و برعکس
  • عملگر ها
    • بررسی انواع عملگر ها (Unary-Binary-Ternary)
    • عملگر های ریاضی (Arithmetic Operator)
    • عملگر های تخصیصی (Assignment Operator)
    • عملگر های مقایسه ای (Comparative Operator)
    • عملگر های منطقی (Logical Operator)
    • عملگر های بیتی (Bitwise Operator)
  • دریافت ورودی از کاربر
    • آشنایی با انواع متد های کلاس Scanner
    • استفاده از Place holder ها (MessageFormat)
    • بررسی تفاوت متد های next و nextLine
  • ساختار های تصمیم (Decision Structure)
    • آشنایی با ساختار if
    • آشنایی با ساختار if else
    • آشنایی با nested if
    • عملگر شرطی
    • استفاده از عملگر های منطقی در شرط ها
    • Dangling else یا else های سرگردان!
    • آشنایی با شرط های مدار کوتاه
    • آشنایی با شرط های مدار بلند
    • آشنایی با ساختار Switch
  • حل تمرین ساختار های تصمیم
  • اولویت عملگر ها
  • فرمت دادن به اعداد اعشاری با Decimal Format
  • ساختار های تکرار (Loop Structure)
    • حلقه While
    • حلقه do While
    • حلقه for
    • آشنایی با break
    • آشنایی با continue
  • حل تمرین ساختار های تکرار
    • تمرینات سطح یک حلقه ها
    • تمرینات تجزیه ارقام
    • تمرینات چاپ الگو های ستاره ای (start pattern)
  • آرایه ها (Array)
    • آشنایی با آرایه تک بعدی
    • مقدار دهی و دسترسی به عناصر آرایه تک بعدی
    • آشنایی با کلمه کلیدی new
    • آشنایی با حلقه foreach
    • آشنایی با آرایه چند بعدی
    • آشنایی با ماتریس ها (آرایه دو بعدی)
    • مقدار دهی و دسترسی به عناصر آرایه چند بعدی
    • آرایه های دندانه دار (Jagged Array)
    • مقدار دهی و دسترسی به عناصر آرایه دندانه دار
  • حل تمرین آرایه ها
    • حل تمرین آرایه های یک بعدی
    • حل تمرین آرایه های دو بعدی
  • متد ها (Method)
    • آشنایی با مفهوم پارادایم
    • آشنایی با پارادایم های برنامه نویسی
    • آشنایی با ساختار یک متد
    • مقدار برگشتی از یک متد (return)
    • ارسال پارامتر به یک متد
    • روش های ارسال آرایه به یک متد
    • آشنایی با VarArgs
    • ارسال مقادیر به برنامه با Command Line
    • آشنایی با متد های بازگشتی (Recursion)
    • بررسی خط به خط برنامه در Netbeans
  • حل تمرین متدها
    • حل تمرین مشترک متد ها و رشته ها
    • حل تمرین متد های بازگشتی
  • برنامه نویسی شی گرا
    • شروع برنامه نویسی شی گرا
    • آشنایی با مفهوم شی
    • آشنایی با مفهوم کلاس
    • تبدیل یک برنامه رویه ای به شی گرا
    • آشنایی با سطح دسترسی public
    • آشنایی با سطح دسترسی private
  • اعضای Static
    • متغیر های static
    • متد های static
    • ایجاد آرایه ای از کلاس ها
  • متد سازنده یا Constructor
    • آشنایی با کاربرد متد سازنده
    • متد سازنده پیش فرض
    • Overload کردن متد سازنده
  • Object Initialization
    • Constructors
    • Instance Variable initializers
    • Instance Initialization blocks
    • Static Block
    • Non Static Block
    • Forward references
  • کپسوله سازی (Encapsulation)
    • آشنایی با مفهوم Setter و Getter
    • آشنایی با کلمه کلیدی This
  • آشنایی با Package ها
    • هدف استفاده از Package
    • دلیل وجود فقط یک کلاس public در یک فایل .java
    • بررسی سطح دسترسی default
    • دسترسی به کلاس های public موجود در Package
    • Import کردن یک Package
    • بررسی تاثیر تعداد import در حجم برنامه
  • وراثت (Inheritance)
    • بررسی مفهوم وراثت در شی گرایی
    • آشنایی با سطح دسترسی protected
    • قانون is s kind of در وراثت
    • قانون ۱۰۰% در وراثت
    • وراثت چند سطحی
    • آشنایی با کلمه کلیدی super
    • استفاده از this برای فراخوانی متد های سازنده دیگر
    • ترتیب اجرای متد های سازنده در وراثت
  • کلاس های final
  • آشنایی با Overriding
    • بررسی هدف استفاده از Overriding
    • ترتیب سطوح دسترسی و تاثیر آن در Overriding
    • Hide شدن وراثت در Overriding
    • تفاوت Overriding و Overloading
    • بررسی Overriding در متد های static
    • بررسی متد های final
    • Override کردن متد .toString
    • Override Annotation
    • پارامتر های final
  • کلاس Object
    • بررسی متد toString
    • Override کردن متد toString
    • بررسی متد equals
    • تفاوت بین متد equals در کلاس object و عملگر==
    • بررسی متد equals در کلاس String
    • بررسی متد hashCode
    • بررسی متد getClass
  • Autoboxing و Unboxing
    • تفاوت بین انواع داده Primitive و Object
    • تفاوت بین int و Integer ، double و Double و …
    • بررسی مفهوم Autoboxing
    • بررسی مفهوم Unboxing
  • تفاوت بین Inheritance و Aggregation
    • رابطه Is-a
    • رابطه has-a
    • بررسی مفهوم Aggregation
    • خطای NullPointerException
  • چند ریختی (Polymorphism)
    • بررسی مفاهیم upcasting و downcasting
    • آشنایی با مفهوم چند ریختی ها
    • مفهوم انتزاع یا abstraction
    • کلاس های انتزاعی یا abstract
    • متد های انتزاعی یا abstract
    • عملگرinstanceof
    • واسط ها یا Interface ها
    • بررسی کاربرد Interface ها
    • آشنایی با کلمه کلیدی implements
    • تفاوت میان کلاس انتزاعی و واسط
  • کلاس های تو در تو (Nested Class)
    • کلاس داخلی non static
    • کلاس داخلی anonymous
    • کلاس داخلی Local
    • کلاس تو در تو static
    • برنامه نویسیجنریک
    • تعریف برنامه نویسیجنریک
    • جنریک چه مشکلاتی را حل می کند؟
    • تفاوت سربارگذاری یک متد و جنریک ها
    • تفاوت کلاس Object و جنریک ها
    • کلاس های جنریک
    • متغیر های جنریک
    • قرارداد های نام گذاری جنریک ها
    • نحوه تعریف نمونه از جنریک
    • Raw Types
    • Type Erasure
    • کلکسیون های جنریک
    • پارامتر های Bounded
    • پارامتر های Unbounded
    • کاربرد extends در جنریک ها
    • آشنایی با wild card
  • انواع داده شمارشی (Enum)
  • کلاس String
    • String چیست؟
    • انواع روش های ساخت String
    • By string literal
    • By new keyword
    • نحوه ذخیره سازی String در حافظه
    • آشنایی با String constant pool
    • ویژگی Immutable در String ها
    • الحاق رشته ها (String Concatination)
    • با استفاده از عملگر +
    • با استفاده از متد concat()
    • زیر رشته ها (Substring)
    • مقایسه String ها
    • بررسی متد equals()
    • بررسی عملگر ==
    • بررسی متد CompareTo()
    • متد های کار با String ها
    • charAt()
    • contains()
    • startsWith()
    • endsWith()
    • indexOf()
    • lastIndexOf()
    • isEmpty()
    • length()
    • replace()
    • toLowerCase()
    • toUpperCase()
    • trim()
    • valueOf()
    • کلاس StringBuffer
    • کلاس StringBuilder
    • بررسی تفاوت سرعت String و StringBuffer و StringBuilder
    • Override کردن متد toString
    • عبارت های منظم یا Regular-expressions
    • String Literals
    • metacharacters
    • character class
    • simple class
    • negation
    • ranges
    • unions
    • intersections
    • subtraction
    • predefind character class
    • quantifiers
    • greedy
    • reluctant
    • possessive
    • boundry matchers
    • capturing groups
    • back references
  • کلاس Math (استفاده از توابع ریاضی)
    • توابع رند کردن اعداد
    • Ceil
    • Round
    • Floor
    • تابع توان (pow)
    • تابع جذر (sqrt)
    • توابع max و min
    • توابع لگاریتمی
    • توابع مثلثاتی
    • تابع نمایی (exp)
    • حل تمرین کلاس Math
  • تولید اعداد تصادفی (Random)
    • تولید اعداد تصادفی با شانس برابر
    • تولید اعداد تصادفی با ترتیب ثابت
    • تولد اعداد تصادفی با توزیع نرمال (گاوس)
    • آشنایی با توزیع نرمال
    • محاسبه انحراف معیار
    • محساسبه میانگین
  • کار با زمان و تاریخ در جاوا (Java Date & Time)
    • کلاس LocalDate
    • کلاس LocalTime
    • فرمت بندی زمان و تاریخ
    • فرمت بندی به وسیله Printf
    • فرمت بندی به وسیله DateTimeFormatter
    • کلاس Duration
    • کلاس Period
    • استفاده از تاریخ شمسی در جاوا
  • خطا گیری و خطایابی (Exception Handling)
    • تعریف باگ
    • انواع خطاهای برنامه نویسی
    • خطای منطقی
    • خطای حین اجرا
    • خطای کامپایلری
    • بلوک try-catch
    • بلوک catch چند تایی
    • بلوک finaly
    • بلوک های try-catch تو در تو
    • کلمه کلیدی throw
    • انتشار خطا (Exception Propagation)
    • کلمه کلیدی throws
    • تفاوت throw و throws
    • تفاوت خطا های checked و unchecked
    • ایجاد Exception شخصی سازی شده
  • مجموعه ها (Collection)
    • List
    • ArrayList
    • LinkedList
    • Vector
    • Set
    • HashSet
    • LinkedHashSet
    • TreeSet
    • Map
    • HashMap
    • LinkedHashMap
    • TreeMap
    • کلاس Collections
  • کار با فایل ها در جاوا (Java IO)
    • مقدمه ای در مورد فایل ها
    • تعریف input و output
    • آشنایی با انواع Stream
    • System.in
    • System.out
    • System.err
    • آشنایی با ساختار کلاس انتزاعی InputStream
    • آشنایی با ساختار کلاس انتزاعی OutputStream
  • کلاس File
    • ساخت یک فایل جدید
    • بررسی وجود یا عدم وجود یک فایل
    • حذف یک فایل
    • گرفتن نام یک فایل
    • GetParent
    • GetPath
    • getName
    • getAbsolutePath
    • getCanonicalPath
    • تغییر نام یک فایل
    • انتقال یک فایل به یک پوشه دیگر
    • ایجاد یک دایرکتوری
    • ایجاد چندین دایرکتوری
    • بررسی دایرکتوری بودن یا نبودن یک آدرس
    • گرفتن فایل های داخل یک دایرکتوری
    • به دست آوردن میزان فضای خالی یک پارتیشن
    • به دست آوردن میزان کل فضای یک پارتیشن
    • به دست آوردن آخرین زمان ویرایش یک فایل
  • کلاس FileFilter
    • اعمال فیلتر به نام فایل ها و دایرکتوری ها
  • کلاس FileOutputStream
    • نوشتن آرایه بایتی در فایل
  • کلاس FileInputStream
    • خواندن فایل ها به صورت آرایه بایتی
  • کلاس BufferedOutputStream
    • استفاده از بافر برای نوشتن آرایه بایتی در فایل
  • کلاس BufferedInputStream
    • استفاده از بافر برای خواندن اطلاعات از فایل
  • کلاس SequenceInputStream
    • خواندن اطلاعات از چند Stream
  • کلاس ByteArrayOutputStream
    • نوشتن آرایه بایتی در چند OutputStream
  • کلاس ByteArrayInputStream
    • خواندن اطلاعات به صورت InputStream
  • کلاس های DataOutputStreamو DataInputStream
    • خواندن و نوشتن انواع داده Primitive در فایل
  • کلاس RandomAccessFile
    • دسترسی تصادفی به فایل ها
  • کلاس FileWriter
    • نوشتن کاراکتر در فایل ها
  • کلاس FileReader
    • خواندن کاراکتر از فایل
  • کلاس BufferedWriter
    • نوشتن کاراکتر در فایل با استفاده از بافر
  • کلاس BufferedReader
    • خواندن کاراکتر از فایل با استفاده از بافر
  • کلاس PrintStream
    • استفاده از print ، println و printf برای نوشتن در Stream
  • کلاس PrintWriter
    • استفاده از print ، println و printf برای نوشتن در Writer
  • برنامه نویسی ویژوال (Swing)
    • مقدمه
    • تفاوت AWT با Swing
    • بررسی JOptionPane
    • بررسی ImageIcon
    • JButton
    • JLabel
    • JRadioButton
    • JCheckBox
    • JComboBox
    • JList
    • JMenuBar
    • JPopupMenu
    • JProgressBar
    • JTree
    • JSpinner
    • JSlider
    • JPanel
    • JTabbedPane
    • Layout
    • BorderLayout
    • CardLayout
    • FlowLayout
    • GridLayout
    • BoxLayout
    • JToolBar
    • JToggleButton
    • JFileChooser
    • JColorChooser
    • Border
    • تعریف رخداد برای کنترل ها (Event)
    • ActionListener
    • ComponentListener
    • ItemListener
    • KeyListener
    • MouseListener
    • MouseMotionListener
    • MouseWheelListener
    • FocusListener
    • PropertyChangeListener
    • WindowListener
    • تفاوت Listener با Adapter
    • Annotation ها
    • Deprecated
    • Override
    • SuppressWarning
    • Cast
    • Deprecation
    • Empty
    • Fallthrough
    • Finally
    • Overrides
    • Unchecked
  • پروژه ماشین حساب مهندسی ( قسمت اول )
    • آشنایی با ساختار Stack
    • انواع نمایش عبارت های محاسباتی
    • Infix
    • Prefix
    • Postfix
    • تبدیل عبارت Infix به Postfix
    • پردازش عبارت Postfix با Stack
  • پروژه ماشین حساب مهندسی ( قسمت دوم )
    • ایجاد یک JFrame
    • آشنایی با پنجره Palette
    • آشنایی با پنجره Properties
    • آشنایی با پنجره Event
    • مشاهده تاریخچه کد ها در History
    • بررسی ویژگی های پنجره Design
    • بررسی دکمه SelectionMode
    • بررسی دکمه ConnectionMode
    • بررسی دکمه Preview Design
    • بررسی ساختار کد های موجود در پنجره Source
    • آشنایی با LookAndFeel
    • بررسی LookAndFeel های مختلف
    • CrossPlatformLookAndFeel
    • SystemLookAndFeel
    • MetalLookAndFeel
    • NimbusLookAndFeel
    • انتخاب LookAndFeel توسط کاربر
    • افزودن LookAndFeel آماده
    • JTattoo
    • Napkinlaf
    • Pgslookandfeel
    • انتخاب Layout از پنجره Design
    • تغییر سایز فرم
    • Event Dispatcher Thread
  • پروژه ماشین حساب مهندسی ( قسمت سوم )
    • طراحی ظاهر ماشین حساب
    • پیاده سازی الگوریتم تبدیل Infix به Postfix
    • پیاده سازی الگوریتم پردازش عبارت Postfix به وسیله Stack
  • پروژه ماشین حساب مهندسی ( قسمت چهارم )
    • قرار دادن آیکون برای برنامه ماشین حساب
    • قفل کردن تغییر سایز فرم
    • حذف حاشیه فرم (ساخت فرم های بدون border)
    • حرکت دادن فرم های بدون border
    • Close ، minimize و normal کردن فرم از طریق کد نویسی
    • تغییر شکل آیکونکرسرماوس
    • گرفتن خروجی Jar از پروژه
    • اجرای ماشین حساب در سیستم عامل ویندوز
    • نصب JRE در گنو/لینوکس توزیع اوبونتو
    • اجرای ماشین حساب در سیستم عامل گنو/لینوکس توزیع اوبونتو
  • پروژه ماشین حساب مهندسی ( قسمت پنجم )
    • الحاق JRE به فایل Jar برای پرتابل کردن برنامه
    • استفاده از Launch4j
    • ساخت فایل نصب با Inno Setup
    • تنظیم آیکون برای فایل نصب
    • اجرای بدون وابستگی برنامه در ویندوز
  • آموزش JDBC در قالب پروژه ( قسمت اول )
    • JDBC چیست؟
    • واسط های JDBC
    • Drivers
    • Connections
    • Statements
    • Result Sets
    • کاربرد های رایج JDBC
    • نمودار Sequence نحوه کارکرد JDBC
    • انواع درایور های JDBC
    • Type 1 :JDBC-ODBC Bridge driver
    • Type 2 :Native-API/partly Java driver
    • Type 3:All Java/Net-protocol driver
    • Type 4:All Java/Native-protocol driver
    • دانلود درایورJDBC پایگاه داده Sqlite
    • اضافه کردن درایور به برنامه در NetBeans
  • آموزش JDBC در قالب پروژه ( قسمت دوم )
    • لود کردن درایور در کد نویسی
    • تعریف Connection
    • مقدار دهی Connection String
    • نصب Sqlite Manager در فایرفاکس
    • آشنایی با محیط Sqlite Manager
    • ساخت یک پایگاه داده جدید در Sqlite Manager
    • ساخت یک جدول جدید در Sqlite Manager
    • آشنایی با Storage Class ها در SQLite
    • INTEGER
    • REAL
    • TEXT
    • NUMERIC
    • INTEGER (strict)
    • REAL (strict)
    • TEXT (strict)
    • آشنایی با Default Value در SQLite
  • آموزش JDBC در قالب پروژه ( قسمت سوم )
    • ساخت یک جدول برای درج داده ها
    • برقراری ارتباط با پایگاه داده
    • ارسال کوئری به پایگاه داده با Statement
    • واکشی اطلاعات از پایگاه داده به ResultSet
    • آشنایی با متد های کلاس Resultset
    • Next
    • Previous
    • Last
    • First
    • Absulote
    • Relative
    • GetRow
    • GetType
    • انواع متد های DataType ها
    • آشنایی با انواع Type های ResultSet
    • Type_Forward_Only
    • Type_Scroll_Insensitive
    • Type_Scroll_Sensitive
    • واکشیmetadata های پایگاه داده با DatabaseMetaData
    • بررسی پشتیبانی پایگاه داده ها از ویژگی های خاص JDBC
    • آشنایی با انواع Concurrency در ResultSet
    • Concur_Read_Only
    • Concur_Updateable
    • آشنایی با انواع Holdability در ResultSet
    • Close_Cursors_At_Commit
    • Hold_Cursors_Over_Commit
  • آموزش JDBC در قالب پروژه ( قسمت چهارم )
    • ارسال کوئری های آپدیت به پایگاه داده
    • بررسی متد executeUpdate
    • بررسی متد ExecuteQuery
    • بررسی متد execute
    • آشنایی با Preparedstatement
    • ارسال دسته ای کوئری ها (Batch)
    • مدیریت تراکنش ها (Perform Transaction)
    • بررسی ویژگی های یک تراکنش
    • Atomicity
    • Consistency
    • Isolation
    • Durability
    • بررسی متد Commit
    • بررسی متد RollBack
  • آموزش JDBC در قالب پروژه ( قسمت پنجم )
    • واکشیMetaData های پایگاه داده
    • تفاوت بین Cluster , Catalog , Schema , Table , Columns & Rows
    • واکشی نام پایگاه داده
    • واکشی نسخه درایور
    • واکشی نسخه پایگاه داده
    • واکشی اطلاعات ستون های پایگاه داده
    • واکشی اطلاعات جدول ها
  • آموزش JDBC در قالب پروژه ( قسمت ششم )
    • ساخت جدول برای ذخیره و بازیابی تصویر و فایل
    • انتخاب عکس از سیستم کاربر
    • تبدیل عکس انتخاب شده به Stream
    • ذخیره Stream در پایگاه داده
    • واکشی تصویر از پایگاه داده
    • تبدیل Stream به تصویر
    • تغییر سایز تصویر
    • ذخیره فایل در پایگاه داده
    • بازیابی فایل از پایگاه داده و ذخیره کنار پروژه
  • آموزش JDBC در قالب پروژه ( قسمت هفتم )
    • آشنایی با JTable
    • درج دستی رکورد به JTable
    • تنظیم Header در JTable
    • آشنایی با اینترفیسTableModel
    • آشنایی با کلاس انتزاعی AbstractTableModel
    • آشنایی با کلاس DefaultTableModel
    • اتصال مدل داده ای به JTable
    • ویرایش مدل داده ای با متد های DefaultTableModel
    • AddRow
    • AddColumn
    • InsertRow
    • RemoveRow
    • SetValueAt
    • getValueAt
    • راست /چپ/وسط چین کردن JTable
    • راست/چپ/وسط چین کردن متن سلول های JTable
  • آموزش JDBC در قالب پروژه ( قسمت هشتم )
    • واکشی داده ها از پایگاه داده و نمایش در JTable
    • طراحی ظاهر برنامه (پروژه محور)
    • طراحی پایگاه داده
    • انتخاب تصویر از سیستم کاربر
    • روش دوم برای تغییر سایز تصویر
    • درج داده ها در پایگاه داده
    • داده ی JCheckBox
    • داده ی JLabel
    • داده ی JRadioButton
    • داده ی JTextField
    • واکشی تصویر از پایگاه داده و نمایش در JTable
    • تنظیم سایز تصویر در JTable
    • Override کردن متد GetClassName
    • جلوگیری از ویرایش سلول های JTable
  • آموزش JDBC در قالب پروژه ( قسمت نهم )
    • تعریف Event برای انتخاب سطر های JTable
    • نمایش اطلاعات سطر انتخاب شده در کنترل های فرم
    • آپدیت کردن سطر انتخاب شده از JTable
  • پروژه مدیریت هتل بخش اول
    • توضیحاتی در مورد نرم افزاری که قرار است در این بخش نوشته شود و همچنین نحوه مشاهده فیلم ها
  • پروژه مدیریت هتل بخش دوم
    • نحوه دانلود و نصب SQL Server
    • نحوه دانلود و نصب SSMS
    • بررسی انواع روش های اتصال به SQL Server در SSMS
  • پروژه مدیریت هتل بخش سوم
    • ساخت پایگاه داده در SQL Server
    • دانلود و نصب درایور JDBC برای اتصال به SQL Server
    • روش اتصال به SQL Server در جاوا
  • پروژه مدیریت هتل بخش چهارم
    • ساخت جدول Users بخش اول
    • بررسی انواع داده های مختلف برای ذخیره عدد صحیح در پایگاه داده
    • ایجاد کردن کلید اصلی برای جدول
    • فعال کردن ویژگی Identity برای ستون کلید اصلی
    • بررسی انواع داده کاراکتری در SQL Server
    • بررسی نوع داده Binary در SQL Server
    • بررسی Computed Column Specification
    • بررسی ویژگی Allow Nulls در جدول
  • پروژه مدیریت هتل بخش پنجم
    • ساخت جدول Users بخش دوم
    • ساخت و بررسی ستون Permission برای ذخیره سطوح دسترسی
  • پروژه مدیریت هتل بخش ششم
    • ساخت و طراحی فرم Login در جاوا بخش اول
    • نحوه قرار دادن تصویر دلخواه در بک گراند فرم
    • نکاتی در مورد نحوه چیدمان عناصر در صفحه
    • راست به چپ کردن فیلد های فرم
    • نحوه ساخت فرم های بدون فریم
    • نمایش فرم در وسط صفحه نمایش
    • حرکت دادن فرم بدون فریم با ماوس
    • شیشه ای کردن بک گراند فرم
  • پروژه مدیریت هتل بخش هفتم
    • ساخت و طراحی فرم Login در جاوا بخش دوم
    • نحوه اضافه کردن فونت های اختصاصی به برنامه
    • محدود کردن کاراکتر های مجاز برای یک فیلد
    • نحوه تعریف Code Templates در NetBeans
    • کار با کلاس MessageDigest برای تولید SHA-512
    • تبدیل آرایه کاراکتر به آرایه بایتی
    • نحوه کار با کنترل JPasswordField
  • پروژه مدیریت هتل بخش هشتم
    • ساخت و طراحی فرم Login در جاوا بخش سوم
    • درج داده ها در جدول Users
    • استفاده از SecureRandom برای تولید عدد تصادفی
    • نحوه تحلیل ستون Permission برای تعیین سطوح دسترسی در جاوا
  • پروژه مدیریت هتل بخش نهم
    • ساخت جدول اتاق ها بخش اول
    • نحوه تعریف یک Check Constraint در جدول
    • ساخت جدول انواع اتاق ها
    • بررسی انواع روابط بین جدول ها (یک به یک، یک به چند، چند به چند)
  • پروژه مدیریت هتل بخش دهم
    • ساخت جدول اتاق ها بخش دوم
    • برقراری ارتباط بین جدول اتاق ها و انواع اتاق ها در Database Diagram
    • بررسی Delete Rule و Update Rule در رابطه بین دو جدول
    • بررسی ویژگی Default Value برای یک ستون
  • پروژه مدیریت هتل بخش یازدهم
    • ساخت و طراحی فرم اتاق ها در جاوا بخش اول
    • بررسی و توضیح مختصر در مورد عناصر موجود در فرم اتاق ها
  • پروژه مدیریت هتل بخش دوازدهم
    • ساخت و طراحی فرم اتاق ها در جاوا بخش دوم
    • واکشی ID بعدی از جدول اتاق ها
    • بررسی تفاوت بین delete و truncate در SQL
    • نحوه واکشی اطلاعات از پایگاه داده و قرار دادن در Combo box
  • پروژه مدیریت هتل بخش سیزدهم
    • ساخت و طراحی فرم اتاق ها در جاوا بخش سوم
    • تغییر Tab Index عناصر موجود در فرم (روش اول)
    • آشنایی با کنترل JSpinner
    • آشنایی با کنترل JFormattedTextField
    • ایجاد رویداد TextChanged برای کنترل JTextField
    • محدود کردن تعداد کاراکتر مجاز در یک JTextField
    • نحوه استفاده از کلاس ‌Timer
  • پروژه مدیریت هتل بخش چهاردهم
    • ساخت و طراحی فرم اتاق ها در جاوا بخش چهارم
    • کدنویسی دکمه افزودن اتاق
    • بررسی تفاوت بین Function و Stored Procedure در SQL
    • نحوه ساخت Stored Procedure و فراخوانی آن در جاوا
  • پروژه مدیریت هتل بخش پانزدهم
    • ساخت و طراحی فرم اتاق ها در جاوا بخش پنجم
    • واکشی اطلاعات از پایگاه داده و نمایش در JTable
    • آشنایی با انواع Join در SQL
  • پروژه مدیریت هتل بخش شانزدهم
    • ساخت و طراحی فرم اتاق ها در جاوا بخش ششم
    • آشنایی ساخت یک View در SQL
    • نوشتن SelectionListener برای JTable
    • غیر قابل ویرایش کردن سلول های JTable
  • پروژه مدیریت هتل بخش هفدهم
    • ساخت و طراحی فرم اتاق ها در جاوا بخش هفتم
    • کد نویسی دکمه به روزرسانی و حذف
  • پروژه مدیریت هتل بخش هجدهم
    • ساخت و طراحی فرم اتاق ها در جاوا بخش هشتم
    • شخصی سازی کردن JTable (ساخت تم)
    • کد نویسی متد resizeColumnWidth برای تعیین خودکار عرض ستون های JTable
  • پروژه مدیریت هتل بخش نوزدهم
    • ساخت و طراحی فرم انواع اتاق ها در جاوا بخش اول
    • بهبود متد resizeColumnWidth برای تعیین خودکار عرض ستون های JTable
    • بهبود تم ساخته شده برای JTable در بخش قبل
    • بررسی حالت های مختلف AutoResizeMode یک JTable
  • پروژه مدیریت هتل بخش بیستم
    • ساخت و طراحی فرم انواع اتاق ها در جاوا بخش دوم
    • ساخت منوی راست کلیک برای JTable
  • پروژه مدیریت هتل بخش بیست و یکم
    • ساخت و طراحی فرم انواع اتاق ها در جاوا بخش سوم
    • افزودن یک نوع اتاق جدید از طریق فرم اتاق ها
  • پروژه مدیریت هتل بخش بیست و دوم
    • ساخت جدول مسافر ها بخش اول
    • تحلیل نحوه ذخیره تصویر در پایگاه داده
    • بررسی نوع داده bit در SQL
  • پروژه مدیریت هتل بخش بیست و سوم
    • ساخت جدول اتاق های رزرو شده
    • ساخت جدول همراه مسافر
  • پروژه مدیریت هتل بخش بیست و چهارم
    • ساخت و طراحی فرم مسافر ها در جاوا بخش اول
    • آشنایی با کنترل JTabbedPane
    • آشنایی با پنجره Navigator در NetBeans
  • پروژه مدیریت هتل بخش بیست و پنجم
    • ساخت و طراحی فرم مسافر ها در جاوا بخش دوم
    • استفاده از JFileChooser برای انتخاب فایل
    • نمایش و تغییر سایز خودکار تصویر در JLabel
  • پروژه مدیریت هتل بخش بیست و ششم
    • ساخت و طراحی فرم مسافر ها در جاوا بخش سوم
    • بررسی الگوریتم کد ملی
    • ارزیابی فیلد کد ملی با استفاده از کنترل JFormattedTextField
  • پروژه مدیریت هتل بخش بیست و هفتم
    • ساخت و طراحی فرم مسافر ها در جاوا بخش چهارم
    • تغییر Tab Index عناصر موجود در فرم با استفاده از FocusTraversalPolicy (روش دوم)
    • پرش از روی کنترل JTextArea با دکمه TAB
  • پروژه مدیریت هتل بخش بیست و هشتم
    • ساخت و طراحی فرم مسافر ها در جاوا بخش پنجم
    • غیر فعال کردن Tab های کنترل JTabbedPane با استفاده از کد نویسی در جاوا
    • تعریف کلید های میانبر با استفاده از KeyStroke
  • پروژه مدیریت هتل بخش بیست و نهم
    • ساخت و طراحی فرم مسافر ها در جاوا بخش ششم
    • ارزیابی تاریخ ورود و خروج وارد شده توسط کاربر
  • پروژه مدیریت هتل بخش سی ام
    • ساخت و طراحی فرم مسافر ها در جاوا بخش هفتم
    • کد نویسی بخش افزودن همراه
    • نمایش اطلاعات JTable در فیلد های فرم
  • پروژه مدیریت هتل بخش سی و یکم
    • ساخت و طراحی فرم مسافر ها در جاوا بخش هشتم
    • کد نویسی بخش انتخاب اتاق
    • تبدیل تاریخ میلادی به شمسی و برعکس
    • نمایش تصویر در سطر های JTable
  • پروژه مدیریت هتل بخش سی و دوم
    • ساخت و طراحی فرم مسافر ها در جاوا بخش نهم
    • کد نویسی فیلد جستجو و نمایش نتایج در JTable
  • پروژه مدیریت هتل بخش سی و سوم
    • ساخت و طراحی فرم مسافر ها در جاوا بخش دهم
    • کد نویسی دکمه افزودن مسافر
  • پروژه مدیریت هتل بخش سی و چهارم
    • ساخت و طراحی فرم مسافر ها در جاوا بخش یازدهم
    • تولید QR Code در جاوا
  • پروژه مدیریت هتل بخش سی و پنجم
    • ساخت و طراحی فرم مسافر ها در جاوا بخش دوازدهم
    • ارسال پیامک در جاوا
  • پروژه مدیریت هتل بخش سی و ششم
    • ساخت و طراحی فرم رک بخش اول
  • پروژه مدیریت هتل بخش سی و هفتم
    • ساخت و طراحی فرم رک بخش دوم
  • پروژه مدیریت هتل بخش سی و هشتم
    • ساخت و طراحی فرم رک بخش سوم
  • پروژه مدیریت هتل بخش سی و نهم
    • ساخت و طراحی فرم رک بخش چهارم
  • پروژه مدیریت هتل بخش چهلم
    • ساخت و طراحی فرم افزودن کارمند بخش اول
    • شخصی سازی کردن کنترل JCheckBox
  • پروژه مدیریت هتل بخش چهل و یکم
    • ساخت و طراحی فرم افزودن کارمند بخش دوم
    • ارزیابی فیلد ایمیل با استفاده از regex
  • پروژه مدیریت هتل بخش چهل و دوم
    • ساخت و طراحی فرم افزودن کارمند بخش سوم
    • کد نویسی دکمه افزودن کارمند
  • پروژه مدیریت هتل بخش چهل و سوم
    • ساخت و طراحی فرم اصلی برنامه بخش اول
    • تحلیل ستون Permission در جاوا بخش اول
  • پروژه مدیریت هتل بخش چهل و چهارم
    • ساخت و طراحی فرم اصلی برنامه بخش دوم
    • تحلیل ستون Permission در جاوا بخش دوم
  • پروژه مدیریت هتل بخش چهل و پنجم
    • ساخت و طراحی فرم اصلی برنامه بخش سوم
    • آموزش ساخت انواع نمودار ها با JFreeChart
    • ساخت یک نمودار دایره ای
    • نمایش نمودار در یک فرم مجزا
    • نمایش نمودار در یک پنل
    • ذخیره نمودار به صورت یک تصویر
  • پروژه مدیریت هتل بخش چهل و ششم
    • ساخت و طراحی فرم اصلی برنامه بخش چهارم
    • ساخت یک نمودار میله ای
  • پروژه مدیریت هتل بخش چهل و هفتم
    • ساخت و طراحی فرم اصلی برنامه بخش پنجم
    • طراحی و نمایش گزارش با استفاده از JasperReport بخش اول
  • پروژه مدیریت هتل بخش چهل و هشتم
    • ساخت و طراحی فرم اصلی برنامه بخش ششم
    • طراحی و نمایش گزارش با استفاده از JasperReport بخش دوم
  • پروژه مدیریت هتل بخش چهل و نهم
    • ساخت و طراحی فرم اصلی برنامه بخش هفتم
    • طراحی و نمایش گزارش با استفاده از JasperReport بخش سوم
  • پروژه مدیریت هتل بخش پنجاهم
    • انتشار برنامه بخش اول
    • نصب SQL Server روی سرور مجازی اوبونتو
    • تولید اسکریپت ساخت پایگاه داده
    • اتصال به پایگاه داده ساخته شده در سرور مجازی
  • پروژه مدیریت هتل بخش پنجاه و یکم
    • انتشار برنامه بخش دوم
    • ساخت فایل نصب به همراه نصب خودکار SQL Server و ساخت پایگاه داده در سیستم مشتری