如何突出显示在Javafx中使用正则表达式找到的单词

问题描述 投票:0回答:1

我正在尝试突出显示Matcher找到的JavaFX中的单词,每当有新单词出现时,我都希望突出显示该新单词。这可能吗?这是我的代码:

                String s1 = displayArea.getText();
                String s2 = textInputArea.getText();
                Pattern p = Pattern.compile("[a-zA-Z]*[^\\s]");            
                Matcher m1 = p.matcher(s1);
                Matcher m2 = p.matcher(s2);
                int counter=0;


                System.out.println("Words from string \"" + s1 + "\" : ");
                while (m1.find() && m2.find() ) {

                    System.out.println("Found words: "+m1.group()+ " Typed words: "+m2.group() );
                    //m1.group() needs to be highlighted and displayed in textarea
                    if (m1.group().equals(m2.group())){
                        counter++;
                        System.out.println("counter:"+counter );

                    }else if (!(m1.group().equals(m2.group())) && typedKey==' '){
                            negativni++;
                            System.out.println("negativni:"+ negativni );

                    }

                }
java regex javafx text textarea
1个回答
0
投票

我用RichTextFX解决了。

displayArea.setStyle(m1.start(),m1.end(),-fx-font-weight:bold;“);

© www.soinside.com 2019 - 2024. All rights reserved.