برنامه نویسیجاواگرافیکمیم تک 3نرم افزارنرم افزار کامپیوتر

جاوا FX چیست و چرا باید از آن استفاده کنیم ؟

جاوا FX چیست و چرا باید از آن استفاده کنیم ؟

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

خلاصه از جاوا Fx :

جاوا fx آمد تا طراحی نرم افزار های تحت دسکتاپ و همچنین بازی ها را ساده تر کند .

با وجود اینکه در حال حاضر بیشتر نرم افزار ها تحت وب اجرا می شوند ، اما هنوز هم تعداد قابل توجهی نرم افزار، آن هم با کارایی بالا وجود دارد که تحت دسکتاپ اجرا می شوند . به طور مثال skype ، Nodepad++ ، IDE ها و از همه مهم تر نرم افزاری که من دارم می نویسم ( 🙂 ) جز این دسته از نرم افزار می باشند.

و اما ویژگی هایی که از نظر من باعث برتری جاوا Fx می شود :

 

زیبایی تفاوت Stage و Frame :

در swing برای طراحی یک صفحه نیاز داشتیم کلاسی از جنس JFrame بسازیم ، به آن container اضافه کنیم ، برای هر بخش از صفحه از panel استفاده کنیم .در اینجا می توانیم به هر تعدادی که بخواهیم frame طراحی کنیم  که هم باعث شلوغی شده هم یکپارچگی کار از بین میره.

اما در دنیای جاوا fx، از تئاتر و مفاهیمی آن کمک گرفته شده ، به این صورت است که  هر برنامه ی درحال اجرا ، تنها و تنها یک پنجره دارد که به این پنجره stage می گویند. برای آنکه بتوانیم هر آنچه می خواهیم در stage نمایش دهیم به مفهوم دیگری به نام scene نیاز داریم ، stage  همان ، سن تئاتر و scene صحنه است. همانطور که سن تئاتر هر لحظه تنها یک صحنه را نمایش می دهد ، در Fx هم stage در یک لحظه فقط می تواند یک scene رو نمایش بدهد .

 

استفاده از css در جاوا FX :

از نظر من یکی از بهترین ویژگی های جاوا Fx در آن است که می توان برای دیزاین تک تک اجزای صفحه از css استفاده کنیم، همان طور که در html5 این کار را انجام می دهند . این قابلیت به ما کمک میکند تا برنامه های با طراحی گرافیکی عالی بسازیم ، بعلاوه می توانیم بخش دیزاین اجزا را، از سایر قسمت های اپلیکشن مجزا کنیم. این موضوع در تغییر دیزاین اجزای صفحه بسیار کمک کننده است .

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

 

طراحی اجزای صفحه ساده تر در جاوا FX :

در swing ، برای آن که بتوانیم اجزای صفحه را قسمت بندی کنیم به layout ها نیاز داریم. از طرفی layout وابسته به panel است . یعنی باید شی از Jpanel  بسازیم و بعد نوع layout آن را مشخص کنیم ، اگر بخواهیم بخش ایجاد شده را مجددا قسمت بندی کنیم ، باز هم باید panel بسازیم و بعد نوع layout  آن را مشخص کنیم  و این داستان ادامه دارد …

اما در fx ، تمام اجزای صفحه زیر کلاسی از کلاس Node هستند، هر Node می تواند خود شامل چند Node باشد . پس layout  هم میتواند شامل چند تا Node  آن هم از نوع های متفاوت باشد. یکی از آن انواع خود layout می باشد. پس در Fx برای قسمت بندی اجزای صفحه ، نیازی به استفاده از panel وجود ندارد .

 

افکت های خاص جاوا FX :

موضوع دیگری که محبوبیت طراحی با جاوا Fx بیشتر می کند ، وجود پکیجی از افکت هاست. با استفاده از کلاس های درون آن به سادگی می توان افکت های shadows, reflections, blurs و … را روی اجزای صفحه اعمال کرد.

 

استفاده ی ساده تر از انیمیشن در جاوا FX :

این درست است که در swing هم امکان استفاده از انیمشن وجود دارد، اما مدیریت تمام بخش هایش به صورت زجر آوری دست خود فرد است .

ولی fx ، به صورتی طراحی شده که تعدادی از انیمشن های روتین را به صورت پیش فرض دارد و هم این امکان را داده است که با استفاده از کلاس هایی به نام  KeyFrame , Timeline به سادگی انیمشن دلخواه خودمان را طراحی کنیم .

 

پشتیبانی از تاچ های مدرن در جاوا FX :

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

ارسال پاسخ