ساخت یک پروژه ساده JavaFX با استفاده از NetBeans IDE 11 و JavaFX12

به نام خدا و با سلام به همگی
خب اگر شما هم مثل من علاقهمند به یادگیری JavaFX باشید و بخواهید آموزشهای خوب ارایهشده در JavaCup مثل این را دنبال کنید، با یک مشکل مواجه میشوید!. مشکل این است که آموزشهای ارایهشده با NetBeans Build 205 مربوط به 2 سال پیش هست. در حالی که الان یعتی اردیبهشت 98 ( آپریل 2019) شماره ساخت (Build Number) این IDE به 404 رسیده و ورژن IDE یازده است و علاوه بر آن، JavaFX از Java جدا شده! برای همین هم در ساخت و اجرای مثالها با کلی مشکل مواجه خواهید بود!
یک راه این است که برویم سراغ ورژنهای قبلی. یعنی از نگارشهای قدیمی NetBeans و JDK استفاده کنیم و آموزشها را با آنها جلو برویم! خب اگر تصمیم شما این هست، ادامه مطلب را نخوانید. (شوخی کردم) حقیقتش در گاهی موارد جز این کار چارهای نیست، چون تجربه من در فراگیری JavaFX به من یاد داد که در برخی موارد باید منتظر نگارشهای بعدی باشم تا باگها برطرف شوند و یا ساعتها وقت بگذارم تا با لطایفالحیلی یک مشکل پیشپاافتاده را حل کنم.
همانطور که از مقدمه متوجه شدید یاد گرفتن JavaFX یک چیز است، کامپایل و اجرای برنامه نوشتهشده با ابزارهای جدید چیز دیگری! اینجا بر این نیستم که به شما JavaFX را یاد بدهم و چنین ادعایی هم ندارم، اگر این آموزشها که توسط مهندس ریماز ارایه شده را بخوانید، خیلی چیزها را یاد میگیرید. اینجا سعی میکنم مثل یک دانشجوی کنجکاو که سعی دارد تمرینهای استادش را زودتر حل کند، به شما کمک کنم چطور مشقهایتان را بنویسید.
من در این مقاله دو روش را توضیح میدهم. در روش اول، بدون استفاده از IDE جلو میرویم و فایل جاوا را دستی ویرایش کرده، کامپایل و اجرا میکنیم. این روش به شما کمک خواهد کرد هر وقت از باگها و خطاهای (Error) به وجود آمده در NetBeans IDE 11 (یا هر IDE دیگری)؛ که هیچ ربطی به برنامه شما ندارد و مربوط به پیکربندی IDE هست، خسته شدید؛ زودتر نتیجه کارتان را ببینید و از صحت برنامتان مطمئن شوید تا سر فرصت به خدمت IDE برسید. در روش دوم، تنظیم NetBeans IDE 11 را خواهم گفت تا بتوانید با استفاده از IDE همراه آموزشها جلو بروید.
روش اول: عدم استفاده از NetBean IDE یا هر IDE دیگری
1- نسبت به نصب JDK12 اقدام کنید.
2- از صحت تنظیم متغیر Path برای اجرای فرامین javac و java اطمینان پیدا کنید.
از مسیر Control Panel\All Control Panel Items\System گزینه Advanced system settings تب Advanced دکمه Enviroments Variables را انتخاب کنید و در قسمت system variable متغیر Path را پیدا کرده و مسیر نصب JDK12 را به آن اضافه کنید.
3- در Enviroments Variables از وجود و تنظیم صحیح متغیر JAVA_HOME به مسیر نصب JDK12 اطمینان پیدا کنید.
4- نسبت به نصب JavaFX12 اقدام کنید. مسیر نصب برای من C:\java\javafx-sdk-12 است.
5- در Enviroments Variables متغیر PATH_TO_FX را به سیستم اضافه کرده و مسیر مورد نظر ( C:\java\javafx-sdk-12\lib ) را تنظیم کنید.
6- حالا وقت ویرایش فایل جاوا هست. فرض کنیم شما با تمرین اول که رسم دایره بود جلو رفتید و فایل java را ساختید و قصد دارید دستی کامپایلش کنید. قبل از کامپایل باید مطمئن شوید کلاسهای مورد نیاز را به فایلتان اضافه (Import) کردید:
import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.layout.Pane; import javafx.scene.shape.Circle;
7- بعد از ویرایش مطمئن شوید که فابل java را ذخیره کردید.
8- برای کامپایل دستی، فایل Cmd را اجرا کنید و مسیر جاری را به پوشهای که فایل java را در آن ذخیره کردید تغییر دهید.
9- فرمان زیر را اجرا کنید:
javac --module-path c:\java\javafx-sdk-12\lib --add-modules=javafx.controls Main.java
توجه داشته باشید که در فرمان بالا مسیر نصب JavaFX را ذکر کردم.
10- خطاهای کدنویسی گزارششده توسط کامپایلر را برطرف کنید ( طبیعی است که چند تا خطا داشته باشید که میبایست آنها را حل کنید).
11- بعد از این که مطمئن شدید خطایی وجود ندارد، با فرمان زیر برنامه را اجرا کنید:
java --module-path c:\java\javafx-sdk-12\lib --add-modules=javafx.controls Main
12- ساختار فرمان کامپایل، زمانی که میخواهید با استفاده از ماژولهای بیشتری فایلتان را کامپایل کنید، به صورت زیر است:
javac --module-path %PATH_TO_FX% --add-modules=javafx.controls,javafx.fxml HelloFX.java
روش دوم تنظیم NetBeans IDE 11
1- میبایست از صحت انجام قدمهای 1، 2 ، 3 و 4 در روش کامپایل دستی اطمینان داشته باشید.
2- NetBeans IDE 11 را دانلود و نصب کنید.
3- اگر IDE نتونست JDK12 را شناسایی کند، در مسیر نصبش فایل conf را پیدا کرده و آن را با wordpad باز کرده و همانند خط پایین پارامتر netbeans_jdkhome را با مسیر نصب JDK12 تنظیم کنید.
netbeans_jdkhome=/path/to/jdk-12
4- در IDE به منو Tools -> Libraries -> New Library بروید و یک Library عمومی به نام JavaFX بسازید و مثل تصویر زیر تمام jar فایلهای پوشه Lib مسیر نصب JavaFX را اضافه کنید (فایل زیپ را اضافه نکنید):
5- همانند تصویر زیر، یک پروژه جدید جاوا بسازید (پروژه جدید Java نه JavaFX)
6- بر روی پروژه راستکلیک کنید و به مسیر Properties -> Libraries -> Java Platform بروید و از پیکربندی پروژه با JDK12 اطمینان پیدا کنید:
7- بر روی پروژه راستکلیک کنید و به مسیر:
Properties -> Libraries -> Compile -> Class-path -> + -> Add Library
رفته و کتابخانه JavaFX12 را اضافه کنید:
8- قدم ششم مرحله دستی و افزودن کدهای ایمپورت کلاسهای مورد نیاز به فایل java را انجام دهید.
9- اگر در این مرحله برنامه را کامپایل کنید، با خطای زیر مواجه خواهید شد:
Error: JavaFX runtime components are missing, and are required to run this application
کلاس اصلی (کلاس java (Main
علت این خطا به این است که کلاس اصلی (Main) کلاس javafx.application.Application را ارثبری (extend) کرده و به همین خاطر باید ماژول javafx.graphics را به مسیر ماژولها اضافه کنیم.
10- بر روی پروژه راستکلیک کرده و به مسیر:
Properties -> Libraries -> Run -> Modulepath -> + -> Add Library
رفته و کتابخانه JAvaFx12 را اضافه کنید.
11- بر روی دکمه OK کلیک کنید.
12- دوباره بر روی پروژه راستکلیک کنید و به مسیر Properties -> Run رفته و همانند تصویر زیر، VM Option را با مقدار:
--add-modules javafx.controls,javafx.fxml
تنظیم کنید:
13- بر روی دکمه ی OK کلیک کنید.
14- پروژه را اجرا کنید.
شاد و پیروز باشید.
.
.
.
آدرس کانال تلگرام: JavaCupIR@
آدرس اکانت توییتر: JavaCupIR@
آدرس صفحه اینستاگرام: javacup.ir
آدرس گروه لینکدین: Iranian Java Developers