Nabben!
Ich habe eine kleines Laufzeit Problem.
Wenn ich auf einne Button klicke soll folgendes ausgeführt werden:
Es soll ein regulärer Ausdruck auf einen Text angewendet werden und das Ergebnis in verschiedenen Farben in einem TextPane dargetsellt werden.
insertMatch:
insertNoMatch
Jedoch dauert es nach dem klick ca 20-30 sekunden bis der Button wieder enabled wird und das textPane mit dem Text gesetzt wurde!
Hat einer von euch ne idee was da so lange dauern könnte?
THX
Ich habe eine kleines Laufzeit Problem.
Wenn ich auf einne Button klicke soll folgendes ausgeführt werden:
Es soll ein regulärer Ausdruck auf einen Text angewendet werden und das Ergebnis in verschiedenen Farben in einem TextPane dargetsellt werden.
Java:
Pattern pattern = null;
Matcher matcher = null;
String eingabeText = textArea2.getText();
String eingabeRegEx = textArea1.getText();
try{
pattern = Pattern.compile(eingabeRegEx);
if (eingabeText.length() != 0)
{
matcher = pattern.matcher(eingabeText);
insertNoMatch(eingabeText);
while (matcher.find()){
String match = matcher.group();
int length = match.length();
insertMatch(match, matcher.start(), length);
}
}else
{
insertNoMatch(regEx_Constants.INITSTRING);
showError(regEx_Constants.TEXTERROR);
}
}catch(PatternSyntaxException ex)
{
insertNoMatch(regEx_Constants.INITSTRING);
showError(regEx_Constants.REGEXERROR);
}
}
}
insertMatch:
Java:
public void insertMatch(final String match, final int start, final int length)
{
try {
textPane1.getDocument().remove(start, length);
textPane1.getDocument().insertString(start, match,regEx_Constants.BLUE);
} catch (final BadLocationException e) {
this.showError(regEx_Constants.MATCHERROR);
}
}
insertNoMatch
Java:
public void insertNoMatch(final String text)
{
try {
textPane1.setText(regEx_Constants.INITSTRING);//Feld vorher leeren
textPane1.getDocument().insertString(0, text,regEx_Constants.GRAY);
} catch (BadLocationException e) {
// TODO Fehlermeldung raus
this.showError(regEx_Constants.MATCHERROR);
}
}
Jedoch dauert es nach dem klick ca 20-30 sekunden bis der Button wieder enabled wird und das textPane mit dem Text gesetzt wurde!
Hat einer von euch ne idee was da so lange dauern könnte?
THX