如何根据输入的文本向JtextPane添加规则
我想在 JtextPane 中有一条规则,例如 如果单词包含“-”(破折号)作为字符,则将其加粗,否则不包含。
我可以在 documentFilter 中添加一些规则吗? 哪里可以添加这条规则
I want to have a rule in JtextPane such as
it bolds the words if it contains "-" (dash) as a character else it doesnt.
Can i add some rule in documentFilter ?
Where can i add this rule
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先使用 StyledEditorKit (或扩展,例如 HTMLEditorKit)。
添加文档监听器。每次更改时,您都可以检查新键入的单词是否包含“-”字符。我会添加对键入的“ ”的检查。
使用实用程序类获取单词开头和单词结尾。
创建一个 SimpleAttributeSet 并使用 StyleConstants.setBold() 将其设置为打开或关闭。然后使用 ((StyledDocument)yourTextpane.getDocument()).setCharacterAttributes() 设置/重置粗体状态。
First of all use StyledEditorKit (or extension e.g. HTMLEditorKit).
Add a DocumentListener. On each change you can check whether newly typed word contains '-' char. I would add the check on ' ' typed.
Use Utilities class to get word start and word end.
Create a SimpleAttributeSet and use StyleConstants.setBold() to set it on or off. Then use ((StyledDocument)yourTextpane.getDocument()).setCharacterAttributes() to set/reset the bold state.
嗯,是的 文本组件功能 教程和 DocumentFilter 可以做到这一点,例如:
hmmm, yes Text Component Features tutorial and DocumentFilter can do that, for example: