1

我想动态更改写在 JTextPane 上的某些文本。我有一个字符串数组,其中包含应该更改的单词

String ListMethod [] = {"forward", "backward", "left", "right"};

我浏览了一些帖子,许多人建议使用 JTextPane 或 JEditorPane 来编辑文本,但给出的大多数答案都适用于静态文本。我想这样做,当我在文本窗格中输入“前进”或“后退”等...时,它会检测到这个词并改变颜色。我该怎么办?

谢谢你的帮助。

4

2 回答 2

5

请参阅此处如何将 DocumentListener值更改侦听器实现为 JTextField。看看 javax.swing.text.Highlighter 和 javax.swing.text.HighlightPainter。

于 2012-12-18T21:47:07.033 回答
1

您必须捕获适当的事件并执行操作。例如,在您的情况下,您可以创建一个更改颜色的 ActionListener 并使用 registerKeyBoardAction 将其附加到您的 JTextPane 上。

Oracle 有一个很好的教程:http ://docs.oracle.com/javase/tutorial/uiswing/events/index.html关于事件监听器。我建议你开始熟悉那里

于 2012-12-18T21:49:18.110 回答