فیلم آمورشی_بخش هفتم_ایجاد ماشین حساب در جاوا

https://www.aparat.com/v/ZziSb

ایجاد یک ماشین حساب در جاوا به صورت گام به گام

ایجاد یک ماشین حساب در جاوا به صورت گام به گام

در این پروژه با استفاده از چند کامپوننت swing یک ماشین حساب ایجاد میکنیم که چهار عمل ضرب ، جمع ، تقسیم و تفریق را بر روی اعداد صحیح انجام می دهد. کامپوننت های به کار گرفته شده در این آموزش عبارت است از :

JButton ، JTextField ، JPanel ، JLable  و JFrame

در صورت وجود هر گونه سوال در قسمت نظرات بیان فرمایید

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

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

مذت فیلم: ۳۹ دقیقه

حجم: ۱۲۱ مگابایت

لینک فیلم آموزشی بخش هفتم جاوا در آپارات

 

لینک فیلم آموزشی بخش هفتم جاوا در یوتیوب

در یو تیوب کیفیت نمایش را در حداکثر انداره قرار دهید تا فیلم را با کیفیت خوبی ببینید

 

لینک دانلود فیلم آموزشی ماشین حساب در جاوا از دراپ باکس

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

 

 

امید فرجی

سلام، امید فرجی هستم از همدان. بیشتر از 7 سال میشه که در حوضه برنامه نویسی جاوا و اندروید فعالیت دارم و در این مدت پروژه های تجاری مختلفی انجام دادم. همچنین از سال 91 سایت آموزش تخصصی جاوا را راه اندازی کردم و در خدمت شما هستم. امیدوارم مفید بوده باشم. برای سفارش پروژه هاتون باهام تماس بگیرید.

شما ممکن است این را هم بپسندید

۴۰ پاسخ‌ها

  1. A.M گفت:

    چرا دانلود نمیشه

  2. A.M گفت:

    تشکر گزاشتم دانلود بشه

  3. کامروا گفت:

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

  4. جاواکار گفت:

    لطفا کنار فرمت wmv فرمتهای کم حجم مثل flv یا فلش هم بگذارید.
    حجمش خیلی زیاده!!

    • متاسفانه کم حجم تر این ممکن نیست.
      این فیلم ها با رزولوشن ۱۳۵۰*۷۵۰ هستند. وبرای این رزولوشن و این کیفیت و این تعداد فریم در ثانیه ، حجمی کمتر از این ممکن نیست.
      ولی اگر بتونم جوری حجم رو کم کنم که تا جای ممکن کیفیت حفظ بشه ، حتما قرار میدم. تا حالا که راهی پیدا نکردم
      شما اگه راهی سراغ دارید بفرمایید
      ممنون

  5. امیر علی گفت:

    سلام ، بهتر نبود فیلم رو بصورت swf در میاوردین که هم بشه انلاین مشاهده کرد وهم زیپ میکردین تا دانلود کنیم ./

    و یک سوال دیگه که کمی ابتدایی شاید باشه ، من دوره های اموزش جاوا رو دارم میرم ولی این برنامه هایی که گفتن رو بهمون نگفتن و تو سایت برنامه نویس یک فایل ماشبن حساب گذاشته بودن که هر چی زیر و رو کردم نتونستم در موردش بفهمم .

    لطفا اموزش های تحت جاوا اسکریپت هم بذارید ./ تشکر

    • با تشکر از نظرات شما.
      همونطور که در جواب جناب جاواکار گفتم ، وقتی تبدیل فرمت انجام میشه کیفیت کم میشه.
      خیلی امتحان کردم ولی هر جور که تبدیل میکنم حجم که میره بالا هیچ ، کیفیتم میاد پایین.
      اگه راهی پیدا بشه که با تبدیل فیلم ها کیفیت کم نشه ، حتما استقبال میکنم.

      در مورد جاوا اسکریپت باید بگم، جاوا اسکریپت اصلا هیچ ارتباطی با جاوا نداره ولی اگه وقت بشه حتما آموزش های JavaScript و JQuery و HTML5 هم قرار میدم.

  6. از دوستان اگه کسی نرم افزاری سراغ داره که باهاش بشه فیلم هایی که رو سایت قرار داده شده رو جوری تبدیل کنه که علاوه بر کم شدن حجم تا جای ممکن کیفیت رو حفظ کنه ، لطفا به ما هم معرفی کنه که فیلم ها رو با حجم کمتری روی سایت قرار بدم. با تشکر

  7. جاواکار گفت:

    با سلام
    بنده این سئوال رو از ایمیل پرسیده بودم که شما عرض کردید اینجا بپرسم:

    بنده به یک مشکل جدی برخورد کرده ام و باید هرچه زودتر حلش کنم و اینترنت
    را هم گشتم ولی چیزی نتونستم پیدا کنم
    من میخواهم که با نت بینز فایل جار درست کنم و پروژه رو هم نوشتم، در این
    پروژه از چند فایل متنی هم استفاده میکنه که محلش در همان ورودی فولدر
    پروژه است و تا الآن مشکلی وجود نداشته است

    اما وقتی که فایل جار را ساختم و اجرایش کردم، استثنای پیدا نشدن فایل رخ داد
    من باید چیکار کنم؟

    لطفا کمکم کنید

    ممنونم

    • سلام. بله به این خاطر گفتم اینجا بپرسید که اگه سوال شما ، سوال دوستان دیگه هم هست ، اونا هم جوابشونو بگیرن
      برای حل مشکلتون ، باید دو تا کار انجام بدید.
      ۱٫ تمام فایل های متنی یا عکس هاتون رو به ClassPath یعنی جایی که فایلهای کلاس هاتون قرار دارن انتقال بدید.

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

      getClass().getResource("filename"); // get as URL
      getClass().getResourceAsStream("filename");// get as InputStream
      

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

      BufferedReader bufferedReader= new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("filename")));
      

      و با bufferedReader فایل رو بخونید

      سوالی بود بفرمایید
      موفق باشید

  8. جاواکار گفت:

    ببخشید، اون دو متدی که اول معرفی کردین رو دقیقا کجا باید نوشت؟

    • هر جه که نیاز داشتی میتونی ازش استفاده کنی.
      مثلا وقتی میخوای با BufferedReader (یا هر کلاس دیگه ای) فایلتو بخونی ، باید به جای دادن نام فایل به عنوان آرگومان ورودی برای ساخت شی از BufferedReader ، با یکی از اون دو تا متد ، آدرس فایل رو معرفی کنی.
      همون طور که میبینی در کد بعدی ای که نوشتم برای ساخت شی از کلاس BufferedReader از getResourceAsStream استفاده کردم.

      یه مثال دیگه اینکه ، وقتی میخوای به عکس دسترسی پیدا کنی و یه ImageIcon ایجاد کنی، باید از متد getResource استفاده کنی.

  9. جاواکار گفت:

    با سلام و تشکر بایت راهنماییتون
    بانامه ام تا حد زیادی مشکلش رفع شد، ولی هنوز تو قسمت نوشتن روی یک فیال مشکل داره
    چون قبلا با printwriter مینوشتم،
    الآن این متد نوشتن به کدوم متد باید تغییر کنه؟
    فکر کنم به bufferedWrite باید تغییر پیدا بکنه.
    ولی اونموقع داخل سازنده اش باید چی بنویسم؟

    ممنونم از راهنماییتان

    • یعنی مخوای داخل فایل بنویسی و بخونی؟!
      من فکر کردم فقط میخوای بخونی.مشکلی نیست.
      با همون PrintWriter هم میتونی کارت رو انجام بدی.فقط یه کم فرق میکنه.
      این یه تکه کد کوچیکه که باهاش یه چیزی توی فایلی که در classPath قرار داره نوشته میشه:

      
              try {
                  PrintWriter p = new PrintWriter(new File(getClass().getClassLoader().getResource("fileName").toURI()));
                  p.println("http://neo-one.ir");
                  p.flush();
                  p.close();
              } catch (Exception ex) {
                  ex.printStackTrace();
              }
      
      
  10. جاواکار گفت:

    آقا ممنونم از راهنماییت
    خیلی کمکم کردی

    آجرکم الله…

  11. جاواکار گفت:

    با سلام خدمت آقا امید
    بازم همون مزاحم همیشگی اومد!!

    سئوالم درباره همون سئوالم آخریم هست، یهنی نوشتن فایل در جار
    یعنی میخوام اول بطور عادی در آی دی ئی فایلی رو بنویسم، بعدش که قسمت های دیگه پروژه رو تموم کردم، اونرو به جر تبدلیش کنم و همون قسمت نوشتن کار بکنه(که نمیکنه!)

    وقتی در محیطآی دی ئی به فایلی مینویسم یا ازش میخونم مشکلی نیست، ولی وقتی که به جار تبدیلش میکنم و میرم به قسمت نوشتن فایل، یا کلا نمینویسه، یا هم استثناهایی مثل IOException یا NullPointerException یا Ille (نوشتنشو بلد نیستم)، رخ میده.
    با اون دستوری که قبلا برای خواندن فایل در جار بهم گفتین، مشکل خواندن فایل به کل برطرف شد، ولی توقسمت نوشتن فایل به مشکل اساسی خوردم.

    تو اینترنت هم خیلی جستجو کردم، ولی هیکشی مثل بچه آدم یه مثال نذاشته!
    فقط اینو گفتن که برای این کار باید یک کلاس دیگه ایجاد کنم و فایل جار رو اکسترکت کنم و بعدش محتویات جدید متن رو به فایل کلاس
    اکسترکت شده اضافه کنم و بعدشم فایل جار رو آپدیت کنم

    آیا این روال درسته؟
    اگه دسرته چجوری اینکارو انجام بدم؟

    واقعا، خیلی کلافه شدم، هیچی نمیدونم

    واقعا ممنونم

    • سلام دوست عزیز.
      اصلا شما چرا میخواید داخل فایلهای درون فایل Jar بنویسید؟ چه کاریه؟
      این کار هم اضولی نیست هم باعث مشکلات فراوان میشه.
      به هر حال من با اون کد هم از فایل خوندم ،هم داخل فایل نوشتم. فایل هم داخل فایل Jar بود.
      ولی این کار اصولی نیست. تمام نیازمندی های برنامه ، معمولا کنار فایل اجرایی هست ، نه داخلش.
      به نظر من فایلهایی رو که قراره داخلش بنویسید رو کنار فایل Jar قرار بدید ، نه داخلش.

  12. جاواکار گفت:

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

    مشکلم اینه!!

    • نه. منظورم این نبود که چرا میخواید داخل فایل بنویسید. منظورم این بود که چرا میخواید فایلی رو که میخواید توش بنویسید رو توی فایل Jar قرار بدید. نیازی نیست فایل های مورد نیاز برنامه حتما داخل فایل Jar برنامه باشه.
      میتونه کنار برنامه باشه و موقع حمل همراه با پوشه ای که فایل Jar توشه ، حمل بشه.
      وقتی هم که میخوای از فایل کنار برنامه استفاده کنی، میتونی چک کنی که اگه فایل وجود نداشت ، توسط خود برنامه اول فایل رو ایجاد کنی ، بعد ازش استفاده کنی.

      باز هم میگم ، لازم نیست که فایل های مورد نیاز برنامه حتما داخل فایل اجرایی (فایل Jar) باشند.

  13. جاواکار گفت:

    مثل خدارو شکر کم کم داره یه چیزایی حالیم میشه،
    ببخشید یه سئوال دیگه:
    وقتی که ما فایل جار رو درست کردیم و به قول شما فایل متنیش هم کنارش قرار دادیم و توش نذاشتیم، آیا اون برنامه میتونه اون فایل متنی رو پیدا کنه؟ یا حتما باید توش باشه که بتونه پیداش کنه.
    چون اگه قرار باشه هر سری که گم میکنه یکی خودش ایجاد کنه، اونموقع رکوردی های قبلی پاک میشند و مشکل بوجود میاد!

    • خواهش میکنم
      بله. میتونه پیداش کنه. برای دسترسی به فایل کنار برنامه هم باید اینطوری عمل کنید:

      File file=new File("filename");
      

      در مورد حذف شدن فایل از کنار برنامه هم، این مشکل برای همه برنامه ها هست. حتی اگه فایل های ویندوز رو هم پاک کنید براش مشکل پیش میاد و اطلاعاتشو از دست میده.
      راه های برای جلوگیری از این مشکل هست. که بهترینش داشتن یه جای مشخص برای پوشه ی برنامس. مثلا Prigrame file در ویندوز.
      و البته کاربری که داره از برنامه استفاده میکنه میتونه از فایل کنار برنامه پشتیبان تهیه کنه ، یا اینکه شما خودتون قابلیت پشتیبان گیری از اطلاعات رو در برنامه تون قرار بدید.

  14. جاواکار گفت:

    آقا دستت درد نکنه، کمک کردی

    بازم مشکلی داشتم، مزاحم میشم!!

  15. آرزو گفت:

    سلام سلام !

    وب سایت عالی ای دارید.خیلی جالبه

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

    تشکر از این که به وبلاگم اومدید

    بای تا های

  16. آرش گفت:

    سلام مجدد خیلی سایتت عالیه ولی کاش ادامه پیدا کنه و این روند قطع نشه و ممنون میشم بیشتر فیلم بزاری

    • ممنون از شما.
      بازدید سایت بالاس ولی دوستان بازدید کننده نظر خاصی در مورد سایت ندارن.
      منم سرم خیلی شلوغه ، با این حال قصدم این بود که یه کمکی هرچند کوچیک به کسایی که دوست دارن جاوا رو یاد بگیرن کرده باشم. ولی ظاهرا تعداد کسایی که میخوان یاد بگیرن به تعداد انگشتان یک دست هم نمیرسه 😀
      به هر حال استقبال خیلی ضعیفه، از طرفی هزینه های نگهداری سایت هم بالاس.
      و این دو مشکل باعث میشه من کم کم به این نتیجه برسم که دیگه ادامه ندم.
      ممکنه دیگه نتونم ادامه بدم.
      همین جا از همه کسایی که از سایت بازدید کردن و نظراتشونو انتقال دادن ممنونم. امیدوارم زمینه ای فراهم بشه که من بتونم روند تولید فیلم ای آموزشی رو ادامه بدم. به امید اون روز
      موفق باشید

  17. احمد گفت:

    سلام
    مر۳۰ از سایت خوبتون.خدا قوت
    لطفا لینکها رو چک کنید,مشتاقم فیلم آموزشی رو ببینم.
    امید جان میشه لطف کنی یه ماشین حساب مهندسی بدون swing بنویسی(تو کنسول با sin & cos )ممنون میشم این لطف رو در حقم بکنی.
    ممنون
    یا علی

  18. علی گفت:

    چقدر قرینه کردن عدد رو سخت کردی :دی
    خب عدد رو می گرفتی و ضرب در -۱ میکردی.
    ————————–
    قسمت resualt != null رو نفهمیدم. یعنی نفهمیدم این resual از کجا اومد. میشه یکم توضیح بدی.
    ————————–
    لینک سورس هم مشکل داره.

  19. Adib گفت:

    salam, mer30 babate amuzeshe khubet.

    lotfan age mishe amuzesh e mashin hesab ro hamintor ke khodeton goftid takmil konid va mashin hesabemoon bishtar shabihe ye mashin hesabe vaqe ee bashe , masalan dg faqat adad begire va nazare horof varede jTextField beshe ..
    va hamishe amadeye gereftane adad bashe.

  20. ali گفت:

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

دیدگاهتان را بنویسید

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

اگر به دنبال پروژه های آماده هستید از فروشگاه ما دیدن کنید رد کردن