Gọi hàm JavaScript trả kết quả hiển thị trong HTMLEditor
1) JavaScript lưu trong thư mục “resources\js\tinhtoan.js”
function getTong(a, b) {
var tong = a + b;
return tong;
}
function getHieu(a, b) {
var hieu = a - b;
return hieu;
}2) HTMLEditorJS
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.HTMLEditor;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class HTMLEditorJS extends Application {
@Override
public void start(Stage primaryStage) {
// Tạo một trình soạn thảo HTML
HTMLEditor htmlEditor = new HTMLEditor();
// Lấy ra đối tượng WebEngine từ trình soạn thảo HTML
WebView webView = (WebView) htmlEditor.lookup(".web-view");
WebEngine webEngine = webView.getEngine();
try {
String filePath = "/js/tinhtoan.js";
// Đọc nội dung của tệp JavaScript
String script = readScriptFile(filePath);
// Thực thi mã JavaScript trong đối tượng WebEngine
webEngine.executeScript(script);
htmlEditor.setHtmlText("Gọi hàm JavaScrip từ tệp:" + "</br>");
// Gọi hàm JavaScript để tính tổng và lấy kết quả
String hamscript = "getTong(5, 10);";
int tong = (int) webEngine.executeScript(hamscript);
hamscript = "getHieu(5, 10);";
int hieu = (int) webEngine.executeScript(hamscript);
// Chèn kết quả vào HTML Editor
htmlEditor.setHtmlText(htmlEditor.getHtmlText() + tong + "</br>");
htmlEditor.setHtmlText(htmlEditor.getHtmlText() + hieu + "</br>");
// Tạo một Scene mới và thêm HTML Editor vào đó
Scene scene = new Scene(htmlEditor);
// Đặt cảnh và hiển thị cửa sổ
primaryStage.setScene(scene);
} catch (Exception e) {
System.out.println("Err: " + e.getMessage());
}
primaryStage.setTitle("JavaFX HTML Editor with JavaScript Result");
primaryStage.show();
}
// Phương thức để đọc nội dung của tệp JavaScript địa chỉ tương đối
private String readScriptFile(String filePath) {
try {
StringBuilder contentBuilder = new StringBuilder();
InputStream is = getClass().getResourceAsStream(filePath);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = br.readLine()) != null) {
contentBuilder.append(line).append("\n");
}
return contentBuilder.toString();
} catch (IOException e) {
return null;
}
}
public static void main(String[] args) {
launch(args);
}
}- Kết quả:
Tác giả: Vàng Văn Quyn
Những tin mới hơn
Những tin cũ hơn
Phần mềm quản lý CCVC Lào Cai
Hướng dẫn thêm chữ ký số vnpt smarrca mới trên vnedu
Hướng dẫn cấu hình SSL trên localhost cho XAMPP
Sửa lỗi định dạng số khi dùng Mail Merge trong Microsoft Word/LibreOffice Writer
Sửa máy in bị đen mép giấy, đen lề trái và phải
TT32_2018_BGDDT_CT GDPT 2018
TT13_2022_BGDDT_sửa đổi, bổ sung CT GDPT 2018
Tài liệu C++ và CodeBlocks V2
Vì sao đánh giá học sinh chương trình mới không còn điểm trung bình cả năm?
Đề cương ôn tập Python
- Click vào nút hiển thị ngày trong tuần hoặc tháng âm lịch để xem chi tiết
- Màu đỏ: Ngày tốt
- Xanh lá: Đầu tháng âm lịch
- Màu vàng: Ngày hiện tại
Canon 2900, HP 1020 in ra giấy trắng
Bài 7: Lập trình robot giáo dục KCbot điều khiển động cơ servo kết hợp cảm biến siêu âm
Khai báo và Đăng ký Chữ ký số của Nhà trường trên vnEdu
Tập huấn CĐS ngày 08/11/2023
Tập huấn CĐS ngày 06/11/2023