gpt4 book ai didi

java - 更新嵌入在 AbstractDocument 中的组件的属性

转载 作者:行者123 更新时间:2023-12-02 08:10:19 25 4
gpt4 key购买 nike

我将一个组件插入到 AbstractDocument 中,如下面的代码所示。

final MutableAttributeSet aS = new SimpleAttributeSet();
aS.addAttribute(Utils.STYLE_ATTRIBUTE, attributeValue);
Component myComponent = new MyComponent();
myComponent.addMouseListener(l);
StyleConstants.setComponent(aS, myComponent);

insertString(caretPosition, REPLACEMENT_CHARACTER, aS);

请注意,我还向该组件添加了一个鼠标监听器。当用户双击文档中嵌入的组件时,我希望将文档中关联属性集中的 Utils.STYLE_ATTRIBUTE 属性的值更改为新值。

我该怎么做?如何获取此属性集或包含该属性集的元素的句柄?

最佳答案

您可以在 mouseListener 中获取组件的边界(使用 e.getSource())。然后使用 JEditorPane 的 viewToModel() 方法获取文档中边界位置的偏移量。然后从Document的结构中获取叶子元素(字符元素)并更改样式。

关于java - 更新嵌入在 AbstractDocument 中的组件的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7561229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com