3

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

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

任何人都可以向我指出简单实现 Document 的教程或其他帮助,以及我需要创建哪些其他类来完成这项工作。

4

3 回答 3

3

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

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

鉴于您的限制,您只需要以某种方式对插入/删除字符做出反应,在文档上添加侦听器应该效果最好。

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

于 2010-03-25T15:14:06.410 回答
2

如果您只想对字符插入/删除做出反应,那么 DocumentFilter 可能是更好的方法。这将允许您防止在文档中插入您想要的字符。阅读 JTextField API 并点击关于“文本组件功能”的 Swing 教程的链接以获取更多信息。

于 2010-03-25T19:21:23.733 回答
2

EditorKit – 文档 – 视图关系教程,它提供了一些关于自定义 javax.swing.text.Document 实现的见解。

于 2010-04-15T09:30:03.063 回答