为什么我不能将Ace编辑器嵌入到WebView中? [英] Why can't I embed Ace Editor into WebView?

查看:111
本文介绍了为什么我不能将Ace编辑器嵌入到WebView中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在JavaFX 2.2中编写一个简单的编辑器。我下载了 Ace Editor 版本库,并创建了一个测试页面,双击时可以正常工作。 然而,当我试图将它嵌入到 WebView 中时,它不起作用。

SSCCE

  ; 

import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
导入javafx.scene.SceneBuilder;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.StackPaneBuilder;
import javafx.scene.web.WebEngine;
导入javafx.scene.web.WebView;
导入javafx.scene.web.WebViewBuilder;
import javafx.stage.Stage;

公共类EditorTrial扩展应用程序{
WebView webView;
WebEngine引擎;
StackPane堆栈;
场景场景;


@Override
public void start(Stage primStage)throws Exception {
stack = StackPaneBuilder
.create()
.alignment Pos.CENTER)
.build();

webView = WebViewBuilder
.create()
.build();

engine = webView.getEngine();
engine.setJavaScriptEnabled(true);
engine.load(/ home / little / Downloads / AceEditor / ace-builds-master / MyTrial.html);
stack.getChildren()。add(webView);

scene = SceneBuilder
.create()
.root(stack)
.build();

primStage.setScene(scene);
primStage.sizeToScene();
primStage.show();


$ b public static void main(String [] args){
Application.launch(web.EditorTrial);
}
}

有人可以告诉我什么是错的?

当我使用绝对文件路径时,它适用于我:
try
文件f =新文件(/ home / little / Downloads / AceEditor / ace-builds-master / MyTrial.html);
String StrURL = f.toURI()。toURL()。toString();
engine.load(StrURL);


I am attempting to make a simple editor in JavaFX 2.2. I downloaded Ace Editor repository and created a test page which works fine when double clicked.

However, it does not work when I try to embed it into the WebView.

SSCCE:

package web;

import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.SceneBuilder;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.StackPaneBuilder;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.scene.web.WebViewBuilder;
import javafx.stage.Stage;

public class EditorTrial extends Application{
    WebView webView;
    WebEngine engine;
    StackPane stack;
    Scene scene;


    @Override
    public void start(Stage primStage) throws Exception {
        stack = StackPaneBuilder
                .create()
                .alignment(Pos.CENTER)
                .build();

        webView = WebViewBuilder
                .create()
                .build();

        engine = webView.getEngine();
        engine.setJavaScriptEnabled(true);
        engine.load("/home/little/Downloads/AceEditor/ace-builds-master/MyTrial.html");
        stack.getChildren().add(webView);

        scene = SceneBuilder
                .create()
                .root(stack)
                .build();

        primStage.setScene(scene);
        primStage.sizeToScene();
        primStage.show();

    }

    public static void main(String[] args) {
        Application.launch("web.EditorTrial");
    }
}  

Can someone please tell me what is wrong?

解决方案

It works for me when the absolute file path : try

File f = new File("/home/little/Downloads/AceEditor/ace-builds-master/MyTrial.html");
String StrURL = f.toURI().toURL().toString(); 
engine.load(StrURL);

这篇关于为什么我不能将Ace编辑器嵌入到WebView中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆