我正在寻找一种为摇摆 JTextArea 或 JTextPane 提供“文本折叠”功能的方法
更具体地说,我想在一个文本组件中添加一个数据块,并且我希望该组件只显示一些标题行。然后用户可以通过单击某个图标来展开该块。这就像大多数 IDE 中的代码折叠功能一样。
经过一番彻底的搜索,我找到了->一些示例代码<-,但是这里使用的机制对我来说非常模糊,当我尝试从文档中删除文本时它停止工作。
也许使用 XML 作为输入可能是一个线索?
我正在寻找一种为摇摆 JTextArea 或 JTextPane 提供“文本折叠”功能的方法
更具体地说,我想在一个文本组件中添加一个数据块,并且我希望该组件只显示一些标题行。然后用户可以通过单击某个图标来展开该块。这就像大多数 IDE 中的代码折叠功能一样。
经过一番彻底的搜索,我找到了->一些示例代码<-,但是这里使用的机制对我来说非常模糊,当我尝试从文档中删除文本时它停止工作。
也许使用 XML 作为输入可能是一个线索?
这个如何添加可折叠区域 http://java-sl.com/collapse_area.html
这个如何表示 XML http://java-sl.com/xml_editor_kit.html
我将从查看 NetBeans API 开始:http: //bits.netbeans.org/dev/javadoc/org-netbeans-modules-editor-fold/overview-summary.html
如果您要自己做,您需要提供一个Document
实现,让您JTextComponent
认为正在添加或删除片段,然后附加点击事件,告诉文档自行更新。很多工作。
从视觉上看,使用 可能也更好JEditorPane
,但这可能需要更多的工作。