好的,这可能听起来很简单,但仍然让我很烦恼。我使用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:非常感谢
答案 0 :(得分:0)
使用
String c = fb.getDocument().getText(0, fb.getDocument().getLength());
您当前正在打印FilterBypass对象。您需要获取文档并通过传递文档的偏移量和长度来获取文本