当我在JTextArea中选择一段文本时,它会变成白色并以蓝色突出显示(我正在使用Nimbus LookAndFeel)。
我更改了它,因此突出显示为白色,文本也保持黑色,因此不会被注意到。我现在想要的是当用户突出显示文本时以粗体显示。
有没有简单的方法可以做到这一点?如果我创建一个双击监听器,或者文本是否变为粗体但没有突出显示,它会起作用吗?
答案 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教程中的部分。