JTextArea和DocumentFilter println当前文本

时间:2014-04-20 18:49:57

标签: java swing jtextarea documentfilter

好的,这可能听起来很简单,但仍然让我很烦恼。我使用jtextarea和文档过滤器。我希望用户按下" a"例如,仅通过println打印当前文本。我用:

public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException {

    if ("a".equals(text)) {     
        String c = fb.toString();
        System.out.println(c);              
    }
    super.replace(fb, offset, length, text, attrs);
    }
}

我键入" help",例如在控制台中获取javax.swing.text.AbstractDocument$DefaultFilterBypass@6f9bb25a!但为什么? D:非常感谢

1 个答案:

答案 0 :(得分:0)

使用

String c = fb.getDocument().getText(0, fb.getDocument().getLength());

您当前正在打印FilterBypass对象。您需要获取文档并通过传递文档的偏移量和长度来获取文本