【问题标题】:Display HTML string in a frame [closed]在框架中显示 HTML 字符串 [关闭]
【发布时间】:2016-09-08 17:34:02
【问题描述】:

我有一个包含 HTML 的字符串。我想在框架中显示该 HTML 内容。我现在正在使用此代码:

JEditorPane html=new JEditorPane("text/html", stringhtml);
html.setEditable(false);  
JScrollPane scrollPane = new JScrollPane(html);  
frame.add(scrollPane);

frameJFramestringhtml 是包含 HTML 的字符串。

但这并不总是有效,有时框架仍然是空的。我知道JEditorPane 不支持 HTML5,我应该使用 Java-FX,但在阅读文档后我真的不明白我应该如何使用它。

谁能给我一个使用 JavaFX 做我需要做的事情的例子吗?

【问题讨论】:

  • “有时框架仍然是空的。” 这是在考虑移植到 Java-FX 之前应该解决的代码问题。为了尽快获得更好的帮助,请发帖 minimal reproducible exampleShort, Self Contained, Correct Example
  • “谁能给我一个使用 JavaFX 做我需要做的事情的例子吗?” SO 不是代码生成机器,也不是帮助台。如果您需要帮助,请尝试一下,如果遇到困难,请发布带有特定问题的 MCVE。
  • 对不起。要求不是我的本意。至于 MCVE,我正在使用 javamail 检索邮件。我以字符串形式获取邮件的内容并尝试将其显示为 html。没有显示的是复杂的邮件。我应该在这里发布所有这些吗?
  • "没有显示的是复杂的邮件。" 嗯嗯..我误以为你控制了 HTML 内容,可以将其限制为 HTML 3.2 (Swing 声称要实现的最后一个 HTML 版本)。对于“现实世界”的浏览器,它需要一个 Java-FX WebView,所以请参阅 Adding HTML Content to JavaFX Applications.. 最近我在 Swing 框架中嵌入了一个 WebView,然后意识到它需要很多其他控件来让它成为一种良好的用户体验,如果我在 Swing 中对其进行编码,那将成为一场噩梦..
  • 感谢您的建议,我尝试使用 WebView,现在所有邮件都正确显示了。

标签: java html swing javafx


【解决方案1】:

这个website 提供的信息应该会有所帮助。

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

  @Override
  public void start(Stage primaryStage) throws Exception
  {
    WebView webView = new WebView();
    webView.getEngine().loadContent("<html><body>Hello World :p</body></html>");
    BorderPane borderPane = new BorderPane(webView);
    primaryStage.setScene(new Scene(borderPane));
    primaryStage.show();
  }
}

【讨论】:

  • "GUI 创建不应该在 Java-FX 事件线程上吗?" AFAIK 它是,如图所示。 stage 是一个 API 参数,只是为了提供一个简单的示例。
  • 酷。 :) 在这种情况下,很好(短!)的例子!操作。如果它有助于解决问题,请accept the answer
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-10
  • 2017-07-30
相关资源
最近更新 更多