JTextPane使用HTML进行多行到单行转换

时间:2013-08-09 10:35:36

标签: java swing jtextpane

我的代码中有一个格式化字符串,附加html / css标记,然后将文本添加到JTextPane。我在一些面板的构造函数中创建了textPane,其中包含以下内容:

    public PnlSmartCommands(ServerLogFormatter formatter, ServerCommandsComponent container){
    setLayout( new java.awt.BorderLayout() );
    this.container = container;
    txtServerCommands = new JTextPane();
    txtServerCommands.setContentType("text/html");
    scpServerCommands = new JScrollPane( );
    this.formatter = formatter;
    scpServerCommands.setViewportView( txtServerCommands );
    scpServerCommands.getVerticalScrollBar().setUnitIncrement(16);
    scpServerCommands.getHorizontalScrollBar().setUnitIncrement(50);
    add( scpServerCommands, java.awt.BorderLayout.CENTER );
    txtServerCommands.setEditable(false);
    loadRules(txtServerCommands);

我在窗格中添加了一个格式化函数,该函数接收来自ArrayList的所有先前请求,删除所有找到的HTML标记,对其进行格式化,然后添加新的HTML和BODY标记,然后使用.setText(String arg0)将文本设置为JTextPane。

    public String formatMemoryString(){
    StringBuilder sb = new StringBuilder();
    sb.append("<html>");
    sb.append("<body>");
    for(int i=0;i<logMemoryHolder.size(); i++){
        sb.append(logMemoryHolder.get(i));
        if(!(i==logMemoryHolder.size())){
            sb.append("<br>");
        }
    }
    sb.append("</body>");
    sb.append("</html>");
    return sb.toString();

现在问题在于 - 响应始终适用于多行中的框,而不是单行。虽然这实际上很好,但我需要添加功能以跨越一条线。 ! http://i.stack.imgur.com/zy4yC.jpg - 这就是目前的情况。我想添加一个复选框,将值格式化为单行,或者允许textPane这样做。知道我是怎么做的吗?我放入窗格的HTML如下:http://www.upload.ee/files/3501071/testHtml.html.html 提前谢谢!

0 个答案:

没有答案