Java 打字时重新记录单词

Java 打字时重新记录单词,java,swing,colors,jtextarea,Java,Swing,Colors,Jtextarea,我想编写一个程序,我会记住一些特定的单词 像这样: 嘿,我喜欢带骨头的胡萝卜 我想让胡萝卜在打字时自动变蓝。 哇,我是用代码做的吗 我已经试过了: public void getWord(String whatword){ if(jtextarea.contains(whatword){ //Stuck on here } 例如: 如果我键入以下内容: 我喜欢胡萝卜和金枪鱼 我想把胡萝卜和金枪鱼的颜色改成蓝色。 其他的词需要保持黑色 现在我不知道如何回忆这个词,

我想编写一个程序,我会记住一些特定的单词

像这样:

嘿,我喜欢带骨头的胡萝卜

我想让胡萝卜在打字时自动变蓝。 哇,我是用代码做的吗

我已经试过了:

public void getWord(String whatword){
   if(jtextarea.contains(whatword){
      //Stuck on here
     }  
例如: 如果我键入以下内容:

我喜欢胡萝卜和金枪鱼

我想把胡萝卜和金枪鱼的颜色改成蓝色。 其他的词需要保持黑色

现在我不知道如何回忆这个词,这个if语句是否有效。 那么,我该如何解决这个问题呢


对不起,我是荷兰人,所以你需要用这种语言,我认为A
JTextArea
只能包含纯文本,不能给某些单词上色。如果你想给不同的单词上色,你需要使用a或a

有关更多信息,请参见此。这可能也有帮助

以下是一个例子:

JTextPane textPane = new JTextPane();
StyledDocument doc = textPane.getStyledDocument();

Style style = textPane.addStyle("I'm a Style", null);
StyleConstants.setForeground(style, Color.red);
String word = "Hello";

if (word.equals("Hello") {
    try {
        doc.insertString(doc.getLength(), word, style);
    } catch (BadLocationException ex) {
        ex.printStackTrace();
    }
} else {
    StyleConstants.setForeground(style, Color.blue);

    try {
        doc.insertString(doc.getLength(), word, style);
    } catch (BadLocationException e) {
        e.printStackTrace();
    }
}

这将生成一个字符串
word
。如果word是
“Hello”
它将显示为红色,否则它将显示为蓝色。

OK,那么如果我使用JTextPane,我该怎么做呢?我现在添加了一个示例,查看链接的问题可以向您展示如何使用
JTextPanes
“那么我该怎么做?”这个问题的答案是如此之多。这就是为什么我们有+对于这个答案,请回答1