我正在编写一个Java TextComponent,其中底层文档有一些结构。它很短,基本上是一行。我需要能够覆盖在文档某些部分插入或删除字符的响应。
我最初的方法是实现javax.swing.text.Document,但这似乎涉及开发许多相关的类(Element,EditorKit,View),似乎没有很多关于如何执行此操作的示例或教程。使用预定义的实现有很多。
任何人都可以在教程或其他帮助中指出我简单的Document实现以及我需要创建的其他类来使其工作。
答案 0 :(得分:3)
有Java Swing tutorial on using text components。
基本上,您可以将DocumentListener添加到文档中并对更改做出反应或编写自己的文档实现。使用AbstractDocument应该很容易,因为它只需要实现几个抽象方法。 或者,您可以子类PlainDocument,并且只覆盖您感兴趣的一组认证方法。
考虑到你的约束,你只需要在插入/删除字符时以某种方式做出反应,在文档上添加一个监听器应该效果最好。
如果您需要更多详细信息,请与我们联系。
答案 1 :(得分:2)
如果您只想对字符插入/删除做出反应,那么DocumentFilter可能是更好的方法。这将允许您阻止在您希望的文档中插入字符。阅读JTextField API并按照“文本组件功能”的Swing教程链接获取更多信息。
答案 2 :(得分:2)
有EditorKit – Document – Views relations tutorial,可以深入了解自定义javax.swing.text.Document的实现。