Mit append() bleibt der aktuelle Text ja drin stehen.
ersetz nochmal diese Methode. So wird deine TextArea geleert und das ergebnis reingeschrieben.
Code:
private void search(){
String text = getJTextArea().getText();
getJTextArea().setText("");
String search = getJTextFieldSid().getText();
String[] rows = text.split("\n");
for(String row : rows){
if(row.contains(search)){
getJTextArea().append(row+"\n");
}
}
}
ersetz nochmal diese Methode. So wird deine TextArea geleert und das ergebnis reingeschrieben.