简体   繁体   中英

Html source in javafx HTMLEditor

Is there a way to use javaFx HTMLEditor in source mode, like when you select show source code in firefox?

I need this because I want to load strings which include xml tags in the editor and the wigdet is not showing them.

Not HTMLEditor nor Webengine or Webview contains a method like your needs. The only thing I've found is something to display the html in a different textarea. Maybe this will help you.

import javafx.application.Application;
import javafx.event.Event;
import javafx.event.EventType;
import javafx.scene.Scene;
import javafx.scene.control.TextArea;
import javafx.scene.layout.Priority;
import javafx.scene.layout.VBox;
import javafx.scene.web.HTMLEditor;
import javafx.stage.Stage;

public class JavaFXApplication1 extends Application {

  @Override
  public void start(Stage primaryStage) {
    HTMLEditor editor = new HTMLEditor();
    editor.setHtmlText("<html>"
            + "<head>"
            + "<title>A Test</title>"
            + "</head>"
            + "<body>This is just a Test</body>"
            + "</html>");

    TextArea area = new TextArea();
    area.setText(editor.getHtmlText());
    editor.addEventHandler(EventType.ROOT, (Event event) -> {
      area.setText(editor.getHtmlText());
    });

    VBox root = new VBox();
    VBox.setVgrow(area, Priority.ALWAYS);
    root.getChildren().addAll(editor, area);

    Scene scene = new Scene(root, 300, 250);

    primaryStage.setScene(scene);
    primaryStage.show();
  }

  /**
   * @param args the command line arguments
   */
  public static void main(String[] args) {
    launch(args);
  }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM