gpt4 book ai didi

java.lang.IllegalArgumentException : Must be StyledEditorKit 异常

转载 作者:行者123 更新时间:2023-11-29 09:18:37 26 4
gpt4 key购买 nike

我们正在尝试使用 JTextPane 呈现 HTML 和纯文本。基本上,实际内容托管在远程服务器上,该内容可以包含一定程度的 HTML 标签或根本不包含。在我的 JTextPane 中,我将其定义如下:

 JTextPane jText = new JTextPane();
jText.setEditable(false);
jText.setContentType("text/html");
String content = "Please view article <a href=mydomain.com/content.txt>Link..</a>";
jText.setText(content);

然后使用 HyperlinkListener 希望能够在单击链接时呈现内容。我正在使用以下语法这样做;

jText.addHyperlinkListener(new HyperlinkListener()
{
public void hyperlinkUpdate(final HyperlinkEvent he)
{
//Render the page
try{
setPage(he.getURL()); //Error on this line
}catch(Exception e){e.printStackTrace();}
}
});

不幸的是,当我们点击链接来呈现内容时,我们以异常结束:

java.lang.IllegalArgumentException: Must be StyledEditorKit
at javax.swing.JTextPane.setEditorKit(JTextPane.java:474)
at javax.swing.JEditorPane.setContentType(JEditorPane.java:888)
at javax.swing.JEditorPane.getStream(JEditorPane.java:713)
at javax.swing.JEditorPane.setPage(JEditorPane.java:408)

当内容没有可用的 HTML 标记时,这看起来像。有人可以帮助我们解决这个问题,以便我们可以呈现纯文本和 HTML。

提前致谢。

已编辑。

最佳答案

听起来您的意思是,既然您希望同时支持来自 JTextPane 的 HTML 和纯文本作为输入,那么不接收 URL 并不是真正的问题。在这种情况下,您应该考虑记录/吃掉异常:

jText.addHyperlinkListener(new HyperlinkListener()
{
public void hyperlinkUpdate(final HyperlinkEvent he)
{
try {
//Render the page
setPage(he.getURL()); //Error on this line
} catch (IllegalArgumentException e) {
// either log the argument here, or just eat it and do nothing with it. logger.error() recommended
}
}
});

关于java.lang.IllegalArgumentException : Must be StyledEditorKit 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7956236/

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