将带下划线的文本设置为textarea

时间:2015-07-03 08:52:47

标签: java swing jtextarea underline

我的StringBuffer设置为JTextArea。现在我希望StringBuffer中的部分字符串根据某些条件加下划线如何做到?

让我们说我需要以4.00的价格显示购买苹果,但苹果的文字强调。

1 个答案:

答案 0 :(得分:2)

使用JTextPane。它默认支持自动换行,您可以设置任何文本的属性。

JTextPane textPane = new JTextPane();
textPane.setText( "one\ntwo\nthree\nfour\nfive\nsix\nseven\neight" );
StyledDocument doc = textPane.getStyledDocument();

//  Define a keyword attribute

SimpleAttributeSet keyWord = new SimpleAttributeSet();
StyleConstants.setForeground(keyWord, Color.RED);
StyleConstants.setBackground(keyWord, Color.YELLOW);
StyleConstants.setUnderline(keyWord, Boolean.TRUE );
StyleConstants.setBold(keyWord, true);

//  Change attributes on some text

doc.setCharacterAttributes(20, 4, keyWord, false);

//  Add some text

try
{
    doc.insertString(0, "Start of text\n", keyWord );
}
catch(Exception e) {}

您还可以创建操作以更改任何所选文本的属性。阅读Text Component Features上Swing教程中的部分,了解更多信息和工作示例。