gpt4 book ai didi

javascript - JavaFX 容器内的 Java、JavaFx : Inserting a HTML&JS(static, 无互联网)项目

转载 作者:行者123 更新时间:2023-11-30 16:20:33 25 4
gpt4 key购买 nike

我正在执行一项任务,我们需要将我们的一个基于 HTML 和 JS 的项目放入 JavaFX 项目或任何其他合适的容器中。目的是创建一个可以直接部署的应用程序,并且可以防止任何用户查看 HTML 和 JS 的源代码。

前段时间我在看JavaFX的时候,看到它支持JS,而且JS可以和它一起使用。有什么方法可以创建一个容器,我可以通过提供路径等将我的 HTML 和 JS 文件放入其中?

我该怎么做?无论我想做什么,它叫什么。任何帮助、指点、建议都会很好。

初始测试

public class Main extends Application {

private Scene scene;
MyBrowser myBrowser;

@Override
public void start(Stage primaryStage) throws Exception{
primaryStage.setTitle("Test web");

myBrowser = new MyBrowser();
scene = new Scene(myBrowser, 1920, 1200);

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


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


class MyBrowser extends Region {

final String hellohtml = "hello.html";

WebView webView = new WebView();
WebEngine webEngine = webView.getEngine();

public MyBrowser(){

URL urlHello = getClass().getResource("hello.html");
webEngine.load(urlHello.toExternalForm());

getChildren().add(webView);
}
}

最佳答案

正如@sillyfly 建议使用WebView:

File f = new File(..);
// ..
final WebView webview = new WebView();
webview.getEngine().load(f.toURI().toURL().toString());

对我来说最困难的部分始终是找出用于引用文件的正确位置。

另一种选择是当您拥有字符串形式的 HTML 以将其作为内容加载时:

String html = ...
webview.getEngine().loadcontent(html)

请务必至少查看 WebView 上的 JavaDoc和 WebEngine `

关于javascript - JavaFX 容器内的 Java、JavaFx : Inserting a HTML&JS(static, 无互联网)项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34807516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com