JavaFX WebView এবং WebEngine হল দুটি গুরুত্বপূর্ণ উপাদান যা JavaFX অ্যাপ্লিকেশনগুলিতে Web Content প্রদর্শন এবং পরিচালনা করতে ব্যবহৃত হয়। এই দুটি উপাদান HTML, CSS, এবং JavaScript সহ ওয়েব কনটেন্ট দেখানোর ক্ষমতা প্রদান করে।
১. WebView
WebView একটি JavaFX কন্ট্রোল যা একটি ইন্টিগ্রেটেড ওয়েব ব্রাউজারের মতো কাজ করে। এটি আপনাকে আপনার অ্যাপ্লিকেশনে HTML পেজ বা ওয়েব কনটেন্ট দেখতে এবং ইন্টারঅ্যাক্ট করতে সক্ষম করে। এটি একটি WebEngine ব্যবহার করে যা ওয়েব কনটেন্ট রেন্ডার করে।
২. WebEngine
WebEngine হল একটি ক্লাস যা ওয়েব কনটেন্ট রেন্ডার করার জন্য ব্যবহৃত হয়। এটি WebView কন্ট্রোলের মাধ্যমে কাজ করে এবং HTTP বা HTTPS রিকোয়েস্টের মাধ্যমে ওয়েব পেজ লোড করতে পারে। এছাড়া, WebEngine ব্যবহারকারীদের ব্রাউজারের মতো HTML, CSS, এবং JavaScript এর মাধ্যমে ওয়েব কনটেন্ট ইন্টারঅ্যাক্ট করতে সাহায্য করে।
WebView এবং WebEngine ব্যবহারের উদাহরণ
উদাহরণ: WebView এবং WebEngine ব্যবহার করে একটি HTML পেজ প্রদর্শন
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class WebViewExample extends Application {
@Override
public void start(Stage primaryStage) {
// WebView তৈরি
WebView webView = new WebView();
// WebEngine পেতে
WebEngine webEngine = webView.getEngine();
// ওয়েব পেজ লোড করা
webEngine.load("https://www.java.com");
// StackPane layout তৈরি
StackPane root = new StackPane();
root.getChildren().add(webView);
// Scene তৈরি করা
Scene scene = new Scene(root, 800, 600);
primaryStage.setTitle("WebView Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
ব্যাখ্যা:
- WebView:
WebViewএকটি JavaFX কন্ট্রোল যা একটি ওয়েব ব্রাউজারের মতো কাজ করে। এখানে আমরাWebViewতৈরি করেছি। - WebEngine:
WebEngineহলWebViewকন্ট্রোলের একটি অংশ, যা ওয়েব পেজ লোড এবং রেন্ডার করার কাজ করে। এখানেwebView.getEngine()ব্যবহার করেWebEngineঅ্যাক্সেস করা হয়েছে। - Load Method:
webEngine.load()পদ্ধতি দিয়ে আমরা একটি URL লোড করেছি, যাWebViewএ প্রদর্শিত হবে। এই উদাহরণে, এটিhttps://www.java.comওয়েবসাইটটি লোড করবে। - StackPane Layout: আমরা একটি সাধারণ
StackPaneলেআউট ব্যবহার করেছি যাতেWebViewকে দৃশ্যমান করতে পারি। - Scene and Stage:
Sceneতৈরি করে এবং সেটিStageএ সেট করা হয়েছে।
WebView এবং WebEngine এর বৈশিষ্ট্য
- HTML Rendering:
WebViewব্যবহার করে HTML কন্টেন্ট দেখতে পারা যায়, যা ওয়েব পেজের মতো প্রদর্শিত হয়। - JavaScript Support:
WebEngineJavaScript সমর্থন করে, অর্থাৎ আপনি JavaScript কোডও WebView এর মাধ্যমে রান করাতে পারবেন। - Navigation:
WebEngineএ ওয়েব পেজ লোড, ব্যাক, ফরওয়ার্ড, রিফ্রেশ ইত্যাদি ফিচার থাকতে পারে।
৩. WebView এর কাস্টমাইজেশন
JavaFX WebView সাধারণত বেশ কিছু কাস্টমাইজেশন ফিচার সরবরাহ করে, যেমন:
- Zoom Controls: আপনি ওয়েব পেজে জুম ইন এবং আউট করতে পারেন।
- JavaScript Execution:
WebEngineএ JavaScript কোড রান করানোর জন্য API রয়েছে। - URL Navigation: আপনি WebView থেকে URL লোড করতে পারেন এবং ওয়েব পেজের মধ্যে নেভিগেট করতে পারেন।
উদাহরণ: JavaScript এক্সিকিউশন
webEngine.executeScript("alert('Hello from JavaFX WebView!');");
এটি JavaScript alert ফাংশন ব্যবহার করে ওয়েব পেজে একটি পপ-আপ চালু করবে।
৪. WebView এ কাস্টম ব্রাউজিং ফিচার
আপনি WebEngine এর মাধ্যমে ব্রাউজারের নেভিগেশন ফিচার কাস্টমাইজ করতে পারেন, যেমন:
- Back: ওয়েব পেজের আগে ফিরে যাওয়ার জন্য
- Forward: পরবর্তী পেজে যাওয়ার জন্য
- Reload: পেজটি রিলোড করার জন্য
উদাহরণ: ব্রাউজারের নেভিগেশন কাস্টমাইজ করা
// Back Button
if (webEngine.getHistory().getCurrentIndex() > 0) {
webEngine.getHistory().go(-1); // Go back
}
// Forward Button
if (webEngine.getHistory().getCurrentIndex() < webEngine.getHistory().getEntries().size() - 1) {
webEngine.getHistory().go(1); // Go forward
}
// Reload Button
webEngine.reload(); // Reload the current page
৫. WebView এর মাধ্যমে HTML পেজ রেন্ডারিং
WebView শুধু URL লোড করার জন্য নয়, আপনি local HTML files বা embedded HTML contentও লোড করতে পারেন।
উদাহরণ: Local HTML File লোড করা
webEngine.load("file:///path/to/local/file.html");
উদাহরণ: HTML String লোড করা
String htmlContent = "<html><body><h1>Hello, JavaFX WebView!</h1></body></html>";
webEngine.loadContent(htmlContent);
সারাংশ:
- WebView হল একটি JavaFX কন্ট্রোল যা ওয়েব কন্টেন্ট প্রদর্শন করতে ব্যবহৃত হয় এবং এটি WebEngine ব্যবহার করে কাজ করে।
- WebEngine হল একটি ক্লাস যা ওয়েব কনটেন্ট লোড এবং রেন্ডার করার জন্য ব্যবহৃত হয় এবং এতে JavaScript সহ HTML কনটেন্ট পরিচালনা করার ক্ষমতা থাকে।
- JavaFX WebView এবং WebEngine দিয়ে আপনি JavaFX অ্যাপ্লিকেশনে ওয়েব কনটেন্ট সহজে ইনটিগ্রেট করতে পারেন, ওয়েব পেজ লোড করতে পারেন, এবং JavaScript কোড এক্সিকিউট করতে পারেন।
Read more