How to hide the controls of HTMLEditor?

前端 未结 10 703
日久生厌
日久生厌 2020-12-10 12:45

is it possible to hide the controls of a HTMLEditor above the actual text? (Alignment, Copy&Paste icons, stylings etc.)

Thanks for any help

10条回答
  •  遥遥无期
    2020-12-10 13:35

    This is a pretty old thread, but most of these answers only sort of work, especially on newer JDKs, so here is the custom HTML editor class that I wrote based on some of the concepts in this thread.

    import javafx.application.Platform;
    import javafx.scene.Node;
    import javafx.scene.control.ToolBar;
    import javafx.scene.web.HTMLEditor;
    
    import java.util.ArrayList;
    import java.util.HashSet;
    
    public class MinimalHTMLEditor extends HTMLEditor {
        public MinimalHTMLEditor() {
            super();
            customizeHtmlEditor(this);
        }
    
        public static void customizeHtmlEditor(final HTMLEditor editor) {
            editor.setVisible(false);
            Platform.runLater(() -> {
                ToolBar toolBar1 = (ToolBar) editor.lookup(".top-toolbar");
                ToolBar toolBar2 = (ToolBar) editor.lookup(".bottom-toolbar");
    
                HashSet nodesToKeep = new HashSet<>();
    
                nodesToKeep.add(editor.lookup(".html-editor-numbers"));
                nodesToKeep.add(editor.lookup(".html-editor-bullets"));
    
                nodesToKeep.add(editor.lookup(".html-editor-foreground"));
                nodesToKeep.add(editor.lookup(".html-editor-background"));
    
                nodesToKeep.add(editor.lookup(".html-editor-bold"));
                nodesToKeep.add(editor.lookup(".html-editor-italics"));
                nodesToKeep.add(editor.lookup(".html-editor-underline"));
                nodesToKeep.add(editor.lookup(".html-editor-strike"));
    
                toolBar1.getItems().removeIf(n -> !nodesToKeep.contains(n));
                toolBar2.getItems().removeIf(n -> !nodesToKeep.contains(n));
    
                ArrayList toCopy = new ArrayList<>();
                toCopy.addAll(toolBar2.getItems());
                toolBar2.getItems().clear();
                toolBar1.getItems().addAll(toCopy);
    
                toolBar2.setVisible(false);
                toolBar2.setManaged(false);
    
                editor.setVisible(true);
            });
        }
    }
    
    

提交回复
热议问题