在gui jtextarea中显示jtidy错误/警告消息



我正在编写一个程序,该程序使用Jtidy从URL获得的源代码清理HTML。我想在jtextarea中在GUI中显示错误和警告。我将如何"重新布局"从印刷到Stdout到Jtextarea的警告?我已经浏览了Jtidy API,但看不到任何能做我想要的东西。有人知道我该怎么做,或者是否可能?

//测试Jtidy选项

public void test(String U) throws MalformedURLException, IOException
{
    Tidy tidy = new Tidy();
    InputStream URLInputStream = new URL(U).openStream();
    File file = new File("test.html");
    FileOutputStream fop = new FileOutputStream(file);
    tidy.setShowWarnings(true);
    tidy.setShowErrors(0);
    tidy.setSmartIndent(true);
    tidy.setMakeClean(true);
    tidy.setXHTML(true);
    Document doc = tidy.parseDOM(URLInputStream, fop);
}

假设jtidy打印错误和警告,您可以暂时更改System.out调用的位置:

PrintStream originalOut = System.out;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream myOutputStream = new PrintStream(baos);
System.setOut(myOutputStream);
// your JTidy code here
String capturedOutput = new String(baos.toByteArray(), StandardCharsets.UTF_8);
System.setOut(originalOut);
// Send capturedOutput to a JTextArea
myTextArea.append(capturedOutput);

如果您需要为System.err代替/也需要这样做。

相关内容

  • 没有找到相关文章

最新更新