Java Desktop Application Development With JavaFx

  • First Set Javafx Envirnment For Eclips With This link
  • Download Scence Builder To Design visually
  • Design Your Ui And Save As Fxml In Any Location
  • Create A Folder res NAME ” res ” oR Another As You Wish AS And Import Fxml File (Same Location Of Your Java File)
  • After Importing Fxml File Now Time To Load Fxml File
  • Write Below Code To Load A Fxml File For Example My File Name Is mylayout.fxml And It Was Exist A Folder

আমরা যদি ইচ্ছা মতো ড্র্যাগ করে লেআউট ডিজাইন করতে চাই তাহলে রূট কন্টেইনার হিসাবে PANE নিয়ে কাজ করলে সবচেয়ে ভালো সহায়তা পাবো।

আমি যে জাভা ফাইল এ কাজ করছি সেটা যে লোকেশন এ আছে সেই লোকেশন এ একটা res নামে ফোল্ডার তৈরী করে সেখানে আমার fxml ফাইল টি রেখেছি মনে রাখতে হবে fxml এর root container বা রূট ডিভ এ fxml এর একটা ভার্সন দেয়া আছে আমরা যখন fxml ফাইল লোড করে রান করবো তখন আমাদের jdk ভার্সন এবং fxml এর ফাইলের রূট ডিভ এ fxml এর ভার্সন একই দিতে হবে। এক না হলেও fxml ফাইলটি লোড হবে কিন্তু কনসোলে একটি ওয়ার্নিং মেসেজ শো করবে যা আমরা ওই তে দেখতে পারবোনা তাই কোনো ওয়ার্নিং যাতে না আসে সে জন্য হয় fxml ফাইল এ যে ভার্সন আসে jdk এর ভার্সন ও তাই হতে হবে নয়তো jdk এর যে ভার্সন যা আছে fxml এর ফাইলের রূট ডিভ এ fxml এর ভার্সন তাই হতে হবে আর এটা করার জন্য সিম্পলি fxml ফাইল তা eclips বা অন্য কোনো এডিটর এ ওপেন করে ভার্শন নাম্বারটি চেঞ্জ করে সেভ করতে হবে.

Load Fxml File As Ui In Java Class

// Create the Pane and all Details
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("res/mylayout.fxml"));
Parent content = loader.load();
//Create the Scene
Scene scene = new Scene(content);
//Set the Scene to the Stage
primaryStage.setScene(scene);
//Set the Title to the Stage
primaryStage.setTitle("A simple FXML Example");
//Display the Stage
primaryStage.show();

Fxml ফাইল কে জাভা কোড দ্বারা কন্ট্রোল করা Fxml

সবচেয়ে সহজে কন্ট্রোলার ক্লাস তৈরির নিয়ম হলো Sence builder এর বামপাশ এ controllar নাম একটি মেনু বাটন আছে ওটাতে নিজের ইচ্ছামতো controllar ক্লাসের নাম দিয়ে উপরে টাইটেল বার এ view মেনু হতে show sample controllar skleton এ ক্লিক কে full সিলেক্ট করলে controllar class এর জাভা কোড পেয়ে যাবো এখন আমরা এই কোড দিয়ে কাজ করবো।

আমরা কিভাবে ফাংশন ডিফাইন করে দেব যে কোন বাটন এ বা কোন কম্পোনেন্ট এ ক্লিক করলে কি হবে ?
১. অপসন ১ : fxml ফাইলের xml কম্পোনেন্ট এ onAction =”#এরপরে কন্ট্রোলার ক্লাসের ফাঙ্কশনের নাম বলে দিতে হবে। যেমন আমার একটি বাটন আছে fxml ফাইলে এবং কন্ট্রোলার ক্লাস এ একটি ফাংশন আছে আমি চাচ্ছি বাটনটি ক্লিক করলে কোনো স্পেসিফিক মেথড কল হবে। তাহলে প্রথমে fxml লোড করার পর কন্ট্রোলার ক্লাস সেট করতে হবে এবং মনে রাখতে হবে fxml ফাইলের কোনো কম্পোনেন্ট যেমন বাটন যার একটি id আছে উদাহরণ স্বরূপ id =”save” তাহলে কন্ট্রোলার ক্লাস এ এই বাটন এক্সেস করতে হলে ভ্যারিয়েবল ডিফাইন করার সময় ভ্যারিয়েবল এর নাম উক্ত বাটনের id এর নাম হবে অর্থাৎ id =”save” হয় তাহলে ভ্যারিয়েবল হবে private Button save= null;তবে মনে রাখতে হবে ভ্যারিয়েবল ডিফাইন করার সময় আমরা যে ক্লাসগুলো ইম্পোর্ট করি তা যেন private Button save= null; ক্লাসের হয়।

javafx configuration eclips

সবচেয়ে সহজে javafx ইক্লিপ্স ide তে অ্যাড করার পদ্ধতিঃ
প্রথমে একটা নতুন জাভা প্রজেক্ট তৈরী করতে হবে। যে প্রজেক্টে কাজ করছি সেই প্রজেক্ট এ রাইট ক্লিক করে propities ->java build path ->jre system libreary
আগে যদি কোনো jre system libreary থাকে তাহলে তা রিমুভ করে add library ক্লিক করে jre system libreary সিলেক্ট করে workspace default Jre (jre ১.৮০) তে javase ১.৮ সিলেক্ট করে ফিনিশ করতে হবে। এবার classpath এ ক্লিক করে Add Library ->User Library (আগে হতে যদি না থাকে তাহলে ) নতুন একটি লাইব্রেরি তৈরী করতে হবে JavaFx নামে এবং তাতে External Jar ফাইল হিসাবে জাভা Jre->libs ফোল্ডার হতে Jfxswt.jar ফাইল সিলেক্ট করে দেখিয়ে দিয়ে ওকে করে বেরিয়ে আস্তে হবে। এবার নতুন একটা জাভা ক্লাস তৈরী করে তাকে application ক্লাস কে এক্সটেনডস করে javafx এপ্লিকেশন ডেভেলপমেন্ট করতে হবে।

2nd Method

প্রথমে eclips এ help ->install new software -> এবার work with বক্সে https://download.eclipse.org/efxclipse/updates-released/3.5.0/site/ লিখে এন্টার চেপে পরবর্তী নির্দেশনা মেনে javafx ইনস্টল করে eclips রিস্টার্ট দেব।

মনে রাখতে হবে এক্লিপ্স এ javafx ইনস্টল হয়েছে কিনা চেক করার জন্য কোনো নতুন প্রজেক্ট তৈরী করার অপশনে javafx প্রজেক্ট নামে অপশন থাকবে সেখান থেকে javafx Project সিলেক্ট করে প্রজেক্ট তৈরী করার সময় java runtime envirnment javase ১.৮ সিলেক্ট করে প্রজেক্ট তৈরী করতে হবে। যদি প্রজেক্ট অন্য java runtime envirnment javase ভার্সন এ তৈরী হয়ে থাকে তাহলে যে প্রজেক্টে কাজ করছি সেই প্রজেক্ট এ রাইট ক্লিক করে propities ->java build path ->jre system libreary তে javase ১.৮ সিলেক্ট করে ওকে করলেই হবে.

javafx ইনস্টল করার পর যেকোনো একটা জাভা প্রজেক্ট java runtime envirnment javase ১.৮ সিলেক্ট করে প্রজেক্ট তৈরী করে জাভা ক্লাস কে Application Class দ্বারা এক্সটেনডস করে start মেথড ইমপ্লিমেন্ট করে javafx এপ্লিকেশন ডেভেলপমেন্ট করতে হয়.