帮助编写自己的javax.swing.text.Document

我正在编写一个Java TextComponent,其中底层文档有一些结构。 它很短,基本上是一行。 我需要能够覆盖在文档的某些部分插入或删除字符的响应。

我最初的方法是实现javax.swing.text.Document,但这似乎涉及开发许多相关的类(Element,EditorKit,View),并且似乎没有很多关于如何执行此操作的示例或教程。 使用预定义的实现有很多。

任何人都可以指向我的教程或其他辅助工具来简单实现Document以及我需要创建哪些其他类才能使其工作。

如果您只想对字符插入/删除做出反应,那么Doc​​umentFilter可能是更好的方法。 这将允许您阻止在您希望的文档中插入字符。 阅读JTextField API并按照“文本组件function”的Swing教程链接获取更多信息。

有一个关于使用文本组件的Java Swing教程 。

基本上,您可以将DocumentListener添加到文档中,并对更改做出反应或编写自己的文档实现。 使用应该很容易的AbstractDocument ,因为它只需要实现几个抽象方法。 或者,您也可以将PlainDocument子类化为子类,并仅覆盖您感兴趣的一组认证方法。

鉴于你的约束,你只需要在插入/删除字符时以某种方式做出反应,在文档上添加一个监听器应该是最好的。

如果您需要更多详细信息,请告诉我们。

有EditorKit – Document – Views关系教程 ,可以深入了解自定义javax.swing.text.Document的实现。