JavaFX HTMLEditor lấy văn bản đang được chọn

Thứ ba - 12/03/2024 11:41

JavaFX HTMLEditor lấy văn bản đang được chọn

JavaFX HTMLEditor lấy văn bản đang được chọn

HTMLEditorGetSelectText

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;
import javafx.scene.web.HTMLEditor;
import javafx.scene.web.WebView;
import javafx.scene.web.WebEngine;

import javafx.scene.control.Alert;
import javafx.scene.control.ToolBar;

public class HTMLEditorGetSelectText extends Application {

    String selection;

    @Override
    public void start(Stage primaryStage) {
        // Tạo một HTMLEditor
        HTMLEditor htmlEditor = new HTMLEditor();

        // Lấy toolbar của HTMLEditor
        ToolBar bar = (ToolBar) htmlEditor.lookup(".top-toolbar");
        if (bar != null) {
            // Tạo nút lệnh để chèn ảnh
            Button selectTextButton = new Button("Văn bản đang được chọn");
            selectTextButton.setDisable(true); // Ban đầu, nút sẽ bị tắt

            WebView webView = (WebView) htmlEditor.lookup(".web-view");
            WebEngine webEngine = webView.getEngine();

            // Thêm sự kiện cho WebView khi có văn bản được chọn
            webView.setOnMouseReleased(event -> {
                selection = webEngine.executeScript("window.getSelection().toString()").toString();
                if (selection.isEmpty()) {
                    selectTextButton.setDisable(true);
                } else {
                    selectTextButton.setDisable(false);
                }
            });

 webView.setOnKeyReleased(event -> {
                // Xử lý khi người dùng nhấn phím
                selection = webEngine.executeScript("window.getSelection().toString()").toString();
                if (selection.isEmpty()) {
                    insertLinkButton.setDisable(true);
                } else {
                    insertLinkButton.setDisable(false);
                }
            });

            selectTextButton.setOnAction(event -> {
                Alert alert = new Alert(Alert.AlertType.INFORMATION);              
                alert.setHeaderText("Lấy văn bản đang chọn");
                alert.setTitle("HTMLEditor SelectText");
                alert.setContentText("Văn bản đang được chọn là: " + selection);
                alert.show();
            });

            // Thêm nút vào ToolBar
            bar.getItems().add(selectTextButton);
        }

        // Tạo Scene và hiển thị
        Scene scene = new Scene(htmlEditor, 800, 600);
        primaryStage.setScene(scene);
        primaryStage.setTitle("HTMLEditor với chèn ảnh");
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Kết quả:

 

Tác giả: Vàng Văn Quyn

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết
Thống kê
  • Đang truy cập5
  • Hôm nay1,456
  • Tháng hiện tại7,765
  • Tổng lượt truy cập9,199,248
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây