2012-12-29 3 views
0

NetBeans Java를 사용하여 메모장을 작성해야합니다. 이미 모든 것을 만들었습니다. 찾기/바꾸기 대화 상자를 구현하는 방법을 모르겠습니다.이 작업을 도와 줄 수 있습니까? jTextArea 사용하고 있습니다.jTextArea의 찾기/바꾸기 대화 상자

+1

몇 가지 코드를 표시 할 수 있습니까? –

+0

Menu가있는 textArea 만 있고 특별한 것은 없습니다. New, Open, Save 등과 같은 옵션이 있습니다. 코드를 표시 할 필요가 없습니다. – Alen

답변

1

당신은 이미 Swing에 대해 알고 있다고 가정하고 (해당 메모장에 대해 이미 JTextArea을 만들었 기 때문에) 적절한 대화 상자를 만드는 방법을 가정하고, 해당 대화 상자에서 작동하도록하는 방법을 알고 싶다고 가정합니다. 백 엔드.

내가 수행 할 작업은 찾기 및 바꾸기를 수행하기 위해 파일을 통과하는 Scanner 개체입니다.

String myAlteredText = ""; 
Scanner scanner = new Scanner(myText); 

while(scanner.hasNext()) { 
    String next = scanner.next(); 
    if(next.equals(userFindInput)) { 
     myAlteredText += userReplaceInput; 
    } 
    else { 
     myAlteredText += next; 
    } 
    myAlteredText += " "; 
} 

대소 문자가 아닐 경우 .equalsIgnoreCase()을 사용할 수 있습니다. 마찬가지로 사용자 매개 변수에 맞게 조정할 수 있습니다 (예 : 단어 전체와 일치하지 않아도되는 경우 .contains()을 사용). 비정상적인 간격과 줄 바꿈을 유지하기 위해해야 ​​할 일이 많이있을 수 있지만 일반적으로 사용하는 방법입니다.

+0

"myText"는 textArea의 텍스트입니까? textArea에서 찾은 단어를 강조하는 방법을 설명합니다. – Alen

+0

예, 'myText'가 메모장에 해당하는 텍스트라고 가정합니다. 강조 표시 기술에 대해서는 [이 질문] (http://stackoverflow.com/questions/5674128/jtextpane-highlight-text)을 참조하십시오. – asteri

+0

@Alen 확실한 것. :) – asteri

0

JTable을 사용할 수도 있지만 다소 비 재능입니다. 각 단어를 새 셀에로드 할 수 있습니다. 이 방법은 1 단어를 대체해야 할 때 실수하지 않는 한 전체 jtextarea를 단지 1 문자로 업데이트 할 필요가 없습니다. 그러나이 작업을 수행하려면 많은 작업이 필요합니다.

관련 문제