
- 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; ক্লাসের হয়।