Java 使用JColorChooser设置文本颜色

Java 使用JColorChooser设置文本颜色,java,swing,jtextpane,Java,Swing,Jtextpane,我正在尝试使用JTextPane创建文本编辑器,但设置所选文本颜色时遇到问题。下面是我们能想到的最好的方法(但是,很明显,这是行不通的): 关于如何让它发挥作用有什么建议吗?还是一种更好的方法 谢谢getSelectedText()只返回一个包含所选文本的普通字符串;您不能使用它来修改文本的属性 我将首先使用和生成颜色属性,然后将其应用于文本的选定部分: SimpleAttributeSet attr = new SimpleAttributeSet(); StyleConstants.setF

我正在尝试使用JTextPane创建文本编辑器,但设置所选文本颜色时遇到问题。下面是我们能想到的最好的方法(但是,很明显,这是行不通的):

关于如何让它发挥作用有什么建议吗?还是一种更好的方法

谢谢

getSelectedText()
只返回一个包含所选文本的普通字符串;您不能使用它来修改文本的属性

我将首先使用和生成颜色属性,然后将其应用于文本的选定部分:

SimpleAttributeSet attr = new SimpleAttributeSet();
StyleConstants.setForeground(attr, c);
textPane.setCharacterAttributes(attr, false);

这对于设置所选文本的颜色非常有效,现在唯一的问题是,我只能通过选择更多文本并将其设置为不同的颜色来设置颜色(而不仅仅是选择一种新颜色并用它键入)。有什么建议可以补救吗?@user485418:请看我编辑的答案。它实际上比以前更简单,我相信它应该适用于选定文本和键入文本。:)
SimpleAttributeSet attr = new SimpleAttributeSet();
StyleConstants.setForeground(attr, c);
textPane.setCharacterAttributes(attr, false);