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

时间:2010-03-25 15:05:52

标签: java swing jtextfield

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

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

任何人都可以在教程或其他帮助中指出我简单的Document实现以及我需要创建的其他类来使其工作。

3 个答案:

答案 0 :(得分:3)

Java Swing tutorial on using text components

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

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

如果您需要更多详细信息,请与我们联系。

答案 1 :(得分:2)

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

答案 2 :(得分:2)

EditorKit – Document – Views relations tutorial,可以深入了解自定义javax.swing.text.Document的实现。