gpt4 book ai didi

java - JTextPane#getText() 不返回组件的文本

转载 作者:行者123 更新时间:2023-12-01 15:04:15 24 4
gpt4 key购买 nike

我需要实现一个 TextPane,内容将动态添加到其中。它可以包含文本和链接。

可以通过将 JLabel 添加到 textPane 来显示链接。但问题是,textPane 拥有的所有文本都需要存储到文件中。 textPane.getText() 返回文本,但它不会附加添加到 textPane 的组件的任何文本。例如,如果 textPane 有一个 String("Hello") 和一个 JLabel("label")。 textPane.getText() 仅返回“hello”。如何检索“标签”?

最佳答案

通常getText()表示文档的内容。为了实现您的目标,您应该迭代字符Elements,并为每个字符检查属性是否具有Component。然后转换到例如JLabel 并获取文本等。

还要检查如何将组件添加到 JTextPane。您可以将组件添加到属性中,并插入带有属性的适当字符串。

SimpleAttributeSet attrs=new SimpleAttributeSet();
StyleConstants.setComponent(...yourLabel);
documnet.insertString(offset, yourLabel.getText(), attrs);

然后您的文档就有JLabel的文本。

关于java - JTextPane#getText() 不返回组件的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13193531/

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