2011-08-02 4 views
1

나는 단순한 스윙 GUI를 가지고 있는데, 여기에는 검색을위한 두 개의 텍스트 필드와 다른 찾기 및 바꾸기 유틸리티와 유사한 바꾸기를위한 텍스트 필드가 있습니다. 텍스트 영역이있어 단어가 발견되고 대체됩니다.이 코드는 그대로 작동합니다 이제 내가 원하는 것은 무엇인지, 배경색이나 글꼴 색을 변경하여 다른 단어와 마찬가지로 단어가 발견되었음을 나타낼 수 있습니다. 어떻게하면 java를 사용하여이 작업을 수행 할 수 있습니까?함수를 사용하여 찾은 단어의 배경색을 변경합니다.

답변

2

난 그냥 발견되는 단어를 나타 내기 위해 배경 색 또는 글꼴 색상을 변경하려면

형광펜을 사용할 수 있습니다.

Highlighter.HighlightPainter cyanPainter 
    = new DefaultHighlighter.DefaultHighlightPainter(Color.cyan); 
... 

textPane.getHighlighter().addHighlight(?, ?, cyanPainter); 
1

EditorKit 및 JTextPane을 사용하십시오. 그런 다음 사용자가 찾기/바꾸기에 대한 선택을 입력하면 String.replace()를 사용하여 색상 태그를 상자의 텍스트에 삽입하여 변경 내용을 표시합니다. 단점은 편집이 완료된 후 색상 태그를 제거해야한다는 것입니다.

http://download.oracle.com/javase/6/docs/api/javax/swing/JTextPane.html

http://download.oracle.com/javase/6/docs/api/javax/swing/text/rtf/RTFEditorKit.html http://download.oracle.com/javase/6/docs/api/javax/swing/text/html/HTMLEditorKit.html

편집 :는 HTMLEditorKit에 대한 고정 링크

관련 문제