# فناوری جاوا > برنامه‌نویسی جاوا > سوال: اجرای کدهای جاوا

## forodo

سلام
من چون بلد نیستم هنوز جاوارو برای همین نمی دونمم جای درستی دارم سوال می پرسم یا نه.
من دارم جاوا یاد می گیرم و آموزشهایی که نگاه کردم همش توی قسمت Console کار می کنه.
برنامه های JDK و Eclipse رو نصب کردم.
توی برنامه با #C تحت ویندوز خوب کنترل قرار می دیم و برنامه exe داره و اجرا می کنیم.
توی برنامه با #C تحت وب باز هم کنترل داره و توی هاست می ذاریم و اجرا می شه.
الان من می خوام برنامه رو اجرا کنم به چه شکل هستش؟
اصلاً کنترل داره؟
فایلی هستش که با دوبار کلیک جایی به جز محیط Eclipse برنامه اجرا بشه؟
امیدوارم منظورم رو متوجه شده باشید.
با تشکر

----------


## محمد فدوی

سلام.
بله شما توی جاوا هم میتونید برنامه هایی با محیط گرافیکی ایجاد کنید. برای اینکار چندین فریمورک توی جاوا وجود داره. مثلا یکی از معروفاش Swing هست. برای شروع این رو ببین.
یکم حال و هوای جاوا با #C تفاوت داره ولی با توجه به اینکه شما #C رو خوب کار کردید خیلی سریع توی جاوا هم رشد میکنید.

مثال بالا رو که بخونید یکم یاد میگیرید چطور توی جاوا با کدنویسی یه صفحه با محیط گرافیکی ایجاد کنید. بعدا اگه دوست داشتید اینکار رو بصورت گرافیکال و با Drag&Drop مثل #C انجام بدید میتونید از WindowBuilderهایی که توی IDEهای جاوا وجود داره استفاده کنید. Eclipse هم داره.

* Swing چیزی به اسم Control نداره و این اصطلاح مخصوص فریمورک های مایکروسافته. اینجا معادل Controlها, JComponentها هستند.

----------


## forodo

یه آموزش پیدا کردم که با NetBeans کار می کنه.
یه برنامه درست کردم که با زدن دکمه ای که قرار دادم پیغام hello رو نشون می ده.
JOptionPane.showMessageDialog(null,"Hello");
می دونم که باید یه چیزی به نام JVM یا همون Java Virtual Machine رو نصب کنم تا فایلهای jar اجرا بشه.
ولی نمی دونم چرا با این که چیزی نصب نکرم اجرا شد. شاید مثل ویژوال استودیو خودش net Framework رو که نیاز برنامه های exe هست نصب کرده.
ولی الان اگه من بخوام همین برنامه رو توی مثلاً یه موبایل که اندروید هست و سیستم عامل مکینتاش اجرا کنم باید چیکار کنم؟
اصلاً اگه بخوام اجرا کنم فقط ( فعلاً که هیچ چیزی مثل مثلاً dll توی ویندوز فرم ) همون فایل jar داخل پوشه dist رو باید انتقال بدم یا چیزه دیگه ای هم هست؟
لطفاً برنامه ای که باید برای اجرای فایلهای جاوا داخل سیستم عامل های دیگه باید نصب بشه رو اسمش رو بگید چی هست. و یا اگر خودتون کار کردید و از اون مطمئن هستید لینکش رو لطفاً قرار بدید.
با تشکر

----------


## محمد فدوی

برای اجرا شدن یه برنامه ی جاوا رو یه سیستم به JRE نیاز داری. هیچ کاری هم نداره اجرا کردن یه فایل jar. توی فولدر bin تو همون جایی که JRE رو نصب کردی یه فایل اجرایی وجود داره به اسم java.exe . برای اجرا کردن یه فایل jar با این فایل کافیه این دستور رو توی Command Prompt اجرا کنی:
java.exe -jar YourJarFile.jar
البته بعد از کامپایل کردن یه سورس کد یه فایل بایت کد با فرمت class ایجاد میشه که برای اجرا کردنش بازم میتونی از java.exe استفاده کنی. در اونصورت دیگه لازم نیست پرچم jar- رو بش ارسال کنی.

برای کامپایل کردن یه فایل سورس جاوا شما به JDK نیاز داری. JDK علاوه بر امکانات JRE یه سری امکانات اضافی برای دیباگ و کامپایل داره. برای کامپایل کردن یه فایل سورس میتونی از javac.exe استفاده کنی که در نتیجه یه فایل class بت میده که میتونی با java.exe اجراش کنی:
javac.exe YourSourceCode.java
شما برای برنامه نویسی جاوا هیچ نیازی به یه IDE نداری و میتونی با نصب کردن JDK و با استفاده از یه ویرایشگر ساده مثل Notepad برنامه نویسی کنی! این قابلیت در مورد NET. هم وجود داره اما برنامه نویسای NET. معمولا باش آشنا نیستن و به شدت وابسته به Visual Studio برنامه نویسی میکنن.

اما نیازی نیست از اول کار با این مسائل آشنا باشید. شما یه IDE خوب مثل Netbeans یا Eclipse یا IntelliJ IDEA نصب کن و شروع کن به یادگیری جاوا. خود IDE برات کارای لازم رو انجام میده.
در ضمن اگه تونستی Netbeans رو نصب کنی و با موفقیت یه پروژه رو ایجاد کنی یعنی JDK رو نصب داری. تازه خود Netbeans (و بقیه ی IDEهای جاوا) با جاوا نوشته شدن.

----------


## forodo

من توی ویندوز این کارهارو نکردم.
فقط توی این مسیر E:\Programming\Java\JavaApplication2\dist یه فایل به نام JavaApplication2.jar بود که با دوبار کلیک روی اون برنامه اجرا شد.
شرمنده من متوجه نشدم درست.
مگه توی موبایل اندروید Command Prompt داریم؟  اگر هم داشته باشیم که نمی شه همش به این شکل برنامه اجرا بشه.
می گن توی برنامه نویسی جاوا یک بار بنویس و همه جا استفاده کن.
الان من اگه بخوام همه جا استفاده کنم به چه شکل هستش؟ ( توی سیستم عامل های دیگه )
الان برنامه پایین رو چطوری می تونم توی سیستم عامل دیگه ای اجرا کنم؟ توی موبایل چطوری میشه اجرا کرد؟

----------


## محمد فدوی

شما نیاز داری اول یه چیزی رو در مورد اندروید بدونی. اندروید به هیچ وجه روی خودش JVM رو اجرا نمیکنه!
ماشین مجازی جاوایی که توی اندروید اجرا میشه یه ماشین مجازیه که توسط شرکت Google توش تغییر ایجاد شده و تخصصی شده برای کارای خودش به نام Dalvik. ماشین مجازی دیگه ای هم وجود داره که توسط Google توسعه داده شده به نام ART.

جاوا به شما تضمین میده که رو هر سیستمی که JRE نصب باشه کمابیش یکسان اجرا بشه. روی اندروید که شما JRE نصب ندارید!!
شما واسه اینکه برنامتون رو توی سیستم عامل های دیگه تست کنید کافیه لینوکس نصب کنید و روش JRE یا JDK یا OpenJDK رو نصب کنید و ببینید چقدر خوب برنامتون اجرا میشه!
به همین روش هم میتونید برنامه رو توی Mac OSX اجرا کنید.

----------

