【问题标题】:Change color (of some of the text) in a Swing text area在 Swing 文本区域中更改(某些文本的)颜色
【发布时间】:2020-11-16 09:43:32
【问题描述】:

我可以在 Java JTextArea 中更改特定文本的前景色吗?我想把一些字改成红色,把其他的字改成黑色。

【问题讨论】:

  • 您必须编写一个 DocumentListener 来执行此操作。 HowTo Use Text Areas
  • @GilbertLeBlanc 实际上我认为 OP 需要 JTextPane 而不是 JTextArea
  • 只是一个问题是JTextPane和jEditorPane一样
  • "is JTextPane 和 jEditorPane" Java '核心 API' 有大量文档。尝试将类名和 API 放入搜索引擎,然后点击指向 Oracle 的链接。比在论坛上提问要快得多。

标签: java swing jtextarea


【解决方案1】:

谢谢
我解决了问题 这是解决方案

StyleContext sc = new StyleContext();  
Style cwStyle = sc.addStyle("ConstantWidth", null);
DefaultStyledDocument doc = new DefaultStyledDocument(sc);
textEnterd=txtuser.getText();
tmpText=txtProgram.getText().substring(0, textEnterd.length());
if(textEnterd.equals(tmpText))
   {
       StyleConstants.setForeground(cwStyle, Color.green);
       doc.setCharacterAttributes(textEnterd.length()-1, 1, cwStyle, false);
   }else if(!textEnterd.equals(tmpText))
   {
       StyleConstants.setForeground(cwStyle, Color.red);
       doc.setCharacterAttributes(textEnterd.length()-1, 1, cwStyle, false);
   }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-12
    • 2017-10-03
    • 2019-02-25
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 2019-10-01
    • 1970-01-01
    相关资源
    最近更新 更多