Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java显示链接';不带html的JTextPane_Java_Html_Swing_Jeditorpane_Jtextpane - Fatal编程技术网

用java显示链接';不带html的JTextPane

用java显示链接';不带html的JTextPane,java,html,swing,jeditorpane,jtextpane,Java,Html,Swing,Jeditorpane,Jtextpane,我需要将源中的文本作为纯文本显示在JTextPane或JEditorPane中。源文本不是HTML,但将包含方括号之间的URL,这些URL需要显示并用作超链接 我考虑过将窗格的内容类型设置为text/html,并在html标记中环绕url,但最终忽略了换行符,这是一件坏事,我不知道如何用“”替换换行符。有没有一个简单的方法 如果这样做意味着扫描整个字符串,那么定制文本的显示方式不是更好吗 所以我也考虑了制作我自己的编辑的路线,就像《星际龟》中提到的那样,但他没有解释怎么做。我已经在中查看了代码,

我需要将源中的文本作为纯文本显示在JTextPane或JEditorPane中。源文本不是HTML,但将包含方括号之间的URL,这些URL需要显示并用作超链接

我考虑过将窗格的内容类型设置为text/html,并在html标记中环绕url,但最终忽略了换行符,这是一件坏事,我不知道如何用“

”替换换行符。有没有一个简单的方法

如果这样做意味着扫描整个字符串,那么定制文本的显示方式不是更好吗

所以我也考虑了制作我自己的编辑的路线,就像《星际龟》中提到的那样,但他没有解释怎么做。我已经在中查看了代码,但似乎有很多工作要做,这是我应该走的路线吗

有人这样做过吗。有什么建议吗?转换为html还是自定义显示效果更好

我不知道如何用“
”替换换行符。有没有一个简单的方法

您可以使用Java正则表达式执行此操作:

    String raw = "...";
    Pattern p = Pattern.compile("\n");
    String html = "<HTML>" + p.matcher(raw).replaceAll("<BR>") + "</HTML>" ;
String raw=“…”;
Pattern p=Pattern.compile(“\n”);
字符串html=”“+p.matcher(原始).replaceAll(“
”)+”;
我冒昧地为您添加了HTML包装


编辑:

为了好玩,我接受了奥斯卡的观点并尝试:

    Pattern p = Pattern.compile("\\[([^\\]]*)\\]");
    raw = p.matcher(raw).replaceAll("<a href=\"$1\">$1</a>");
Pattern p=Pattern.compile(“\\[([^\\]]*)\\]”;
原始=p.matcher(原始).replaceAll(“”);

+1@Victor:这是正确的。处理超链接的过程应该非常类似:用string replace方法替换[],但是没有用。这很有效,谢谢。