获取 JTextPane 中插入符号位置的样式

发布于 2024-10-05 18:55:30 字数 326 浏览 7 评论 0原文

我有一个基本的文本编辑器,可以设置文档样式(粗体、下划线、斜体、下划线、左/右/中心对齐、颜色、字体大小/系列),而且一切都很好。我遇到的问题是我希望样式将按钮和框设置为插入符号所在位置的正确样式。

比如说,我有字符串

敏捷的棕色狐狸 跳过懒狗

当我在快速中的 u 和 i 之间单击时,我希望打开斜体按钮以指示文本所在的位置插入符号具有斜体样式。

我使用 JTextPane 来保存文本,并使用 StyledEditorKit 来设置样式。

谢谢。

I have a basic text editor that can style documents (bold, underline, italicize, underline, align left/right/center, color, font size/family), and that all works great. The problem I'm having is that I want the style to set my buttons and boxes to the correct styling for where the caret is.

Say, for example, I have the string

the quick brown fox jumps over the lazy dog

When I click between the u and i in quick, I want my italicize button to be toggled on to indicate that the text where the caret is has the italicized styling.

I'm using a JTextPane to hold the text, and a StyledEditorKit for the styling.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

酒绊 2024-10-12 18:55:30

I think what you are looking for, is

getCharacterAttributes method from the JTextPane

http://download.oracle.com/javase/7/docs/api/javax/swing/JTextPane.html#getCharacterAttributes()

樱花坊 2024-10-12 18:55:30

好的,仅供仍在寻找但未找到答案的人使用:
例如 :

AttributeSet attributeSet = textPane.getCharacterAttributes();
Object bold = attributeSet == null ? null : attributeSet.getAttribute( StyleConstants.Bold );
System.out.println( "Bold : " + bold );

Ok, just for anyone still looking for and didnt find the answer :
for example :

AttributeSet attributeSet = textPane.getCharacterAttributes();
Object bold = attributeSet == null ? null : attributeSet.getAttribute( StyleConstants.Bold );
System.out.println( "Bold : " + bold );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文