我希望高亮显示的文字看起来很大胆

时间:2011-07-07 11:40:57

标签: java swing

当我在JTextArea中选择一段文本时,它会变成白色并以蓝色突出显示(我正在使用Nimbus LookAndFeel)。

我更改了它,因此突出显示为白色,文本也保持黑色,因此不会被注意到。我现在想要的是当用户突出显示文本时以粗体显示。

有没有简单的方法可以做到这一点?如果我创建一个双击监听器,或者文本是否变为粗体但没有突出显示,它会起作用吗?

2 个答案:

答案 0 :(得分:1)

请参阅DefaultHighlighter来源 内部类DefaultHighlightPainter有方法

public void paint(Graphics g, int offs0, int offs1, Shape bounds, JTextComponent c)

您可以在那里指定字体。只需为Graphics实例调用setFont()。

注意:粗体字体可能有不同的宽度,因此您应该使用“Monospaced”等字体

答案 1 :(得分:1)

使用JTextPane,然后您可以使用样式作为突出显示的文本。请参阅Text Component Features上的Swing教程中的部分。