JavaFX Thêm nút tùy chỉnh vào thanh công cụ HTMLEditor tại vị trí xác định

Thứ hai - 11/03/2024 04:57

JavaFX Thêm nút tùy chỉnh vào thanh công cụ HTMLEditor tại vị trí xác định

JavaFX Thêm nút tùy chỉnh vào thanh công cụ HTMLEditor tại vị trí xác định

JavaFX Thêm nút tùy chỉnh vào thanh công cụ HTMLEditor tại vị trí xác định

import javafx.application.Application;
import javafx.scene.*;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Button;
import javafx.scene.control.ToolBar;
import javafx.scene.control.Tooltip;
import javafx.scene.layout.VBox;
import javafx.scene.web.HTMLEditor;
import javafx.stage.Stage;

public class HtmlEditorExample extends Application {

    private final Button btnLink = new Button("Link");

    @Override
    public void start(Stage primaryStage) {

        HTMLEditor htmlEditor = new HTMLEditor();
        ToolBar bar = null;
        Node node = htmlEditor.lookup(".top-toolbar");
        if (node instanceof ToolBar toolBar) {
            bar = toolBar;
            System.out.println("Size before layout pass: " + bar.getItems().size());
        }

        VBox vBox = new VBox(htmlEditor);
        primaryStage.setScene(new Scene(vBox));
        primaryStage.show(); //invokes layout pass

        btnLink.setTooltip(new Tooltip("Add a Hyperink"));
        btnLink.setOnAction(e -> {
            Alert alert = new Alert(AlertType.INFORMATION);
            alert.setTitle("HTMLEditor");           
            alert.setContentText("HTMLEditor Add Button");
            alert.show();
        });

        if (bar != null) {
            System.out.println("Size after layout pass: " + bar.getItems().size());
            bar.getItems().add(14, btnLink);
            System.out.println("Size after layout pass btnLink: " + bar.getItems().size());
        }
        for (Node node1 : bar.getItems()) {

            if (node1 instanceof Button button) {
                System.out.println(((Button) node1).getTooltip().getText());
            }

            if (node1 instanceof ToggleButton toggleButton) {
                System.out.println(((ToggleButton) node1).getTooltip().getText());
            }

            if (node1 instanceof ColorPicker colorPicker) {
                System.out.println(((ColorPicker) node1).getTooltip().getText());
            }

        }
    }

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

Kết quả:

 

Nguồn tin: stackoverflow.com

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ập6
  • Hôm nay1,459
  • Tháng hiện tại7,768
  • Tổng lượt truy cập9,199,251
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