代码之家  ›  专栏  ›  技术社区  ›  DJClayworth

帮助您编写自己的javax.swing.text.document

  •  3
  • DJClayworth  · 技术社区  · 14 年前

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

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

    有谁能给我介绍一些简单实现文档的教程或其他辅助工具,以及我需要创建哪些其他类才能使其工作。

    3 回复  |  直到 14 年前
        1
  •  2
  •   camickr    14 年前

    如果您只想对字符插入/删除做出反应,那么使用documentfilter可能是更好的方法。这将允许您防止在文档中插入您所希望的字符。阅读jtextfield api并按照swing教程“文本组件特性”的链接获取更多信息。

        2
  •  3
  •   pajton    14 年前

    有一个 Java Swing tutorial on using text components .

    基本上,你可以添加 DocumentListener 对文档做出响应,或者编写自己的文档实现。使用 AbstractDocument 这应该很容易,因为它只需要实现几个抽象方法。 或者你也可以是子类 PlainDocument 只重写你感兴趣的一组方法。

    考虑到您的限制,您只需要在插入/删除字符时以某种方式做出反应,在文档上添加侦听器应该是最有效的。

    如果你需要更多的细节,请告诉我。

        3
  •  2
  •   Andrej Herich    14 年前

    EditorKit – Document – Views relations tutorial ,这使我们对自定义javax.swing.text.document的实现有了一些了解。