Java,JavaFx:在JavaFX容器中插入一个HTML&JS(静态,无互联网)项目
Java, JavaFx : Inserting a HTML&JS(static,no internet) project inside a JavaFX container
我正在做一个任务,我们需要将一个基于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将动态表从一个html页面打印到另一个html页
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 从html创建一个指令,该指令按类名应用函数
- 如何将值传递到上一个html页面
- 如何通过HTML+CSS中的另一个元素Selector更改元素的属性值
- 一个html元素的克隆次数太多
- 使用AngularJS Directive WHITOUT$scope创建一个动态html元素
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 创建一个循环来简化HTML和CSS代码
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- HTML外部javascript加载另一个javascript
- 将html元素插入到文本字符串中,以匹配另一个html字符串
- 如何在另一个html文件的框架中包含图像
- 按下一个HTML按钮,该按钮使用一个功能在同一个新窗口中打开URL
- 我可以共享一个HTML播放器吗
- 如何在一个html页面上使用js进行2次乘法运算
- 使用数据属性将HTML数据复制到另一个元素
- 返回值从 Javascript 到 HTML <一个 href> 标记
- HTML -一个页面上的多个表单-在POST方法中发送CSV列表