Revision: 8477
http://languagetool.svn.sourceforge.net/languagetool/?rev=8477&view=rev
Author: dnaber
Date: 2012-12-01 22:21:53 +0000 (Sat, 01 Dec 2012)
Log Message:
-----------
tagging text: better visual feedback (wait cursor); better error handling
Modified Paths:
--------------
trunk/JLanguageTool/src/main/java/org/languagetool/gui/Main.java
Modified: trunk/JLanguageTool/src/main/java/org/languagetool/gui/Main.java
===================================================================
--- trunk/JLanguageTool/src/main/java/org/languagetool/gui/Main.java
2012-12-01 21:39:51 UTC (rev 8476)
+++ trunk/JLanguageTool/src/main/java/org/languagetool/gui/Main.java
2012-12-01 22:21:53 UTC (rev 8477)
@@ -487,9 +487,7 @@
resultArea.setLanguageTool(langTool);
resultArea.displayResult();
} catch (Exception e) {
- final String error = "<br><br><b><font
color=\"red\">"
- +
org.languagetool.tools.Tools.getFullStackTrace(e).replace("\n", "<br/>")
- + "</font></b><br>";
+ final String error = getStackTraceAsHtml(e);
resultArea.displayText(error);
}
} finally {
@@ -503,6 +501,12 @@
}
}
+ private String getStackTraceAsHtml(Exception e) {
+ return "<br><br><b><font color=\"red\">"
+ + org.languagetool.tools.Tools.getFullStackTrace(e).replace("\n",
"<br/>")
+ + "</font></b><br>";
+ }
+
private void setWaitCursor() {
prevCursor = resultArea.getCursor();
frame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
@@ -523,19 +527,29 @@
textArea.setText(messages.getString("enterText2"));
} else {
// tag text
- final List<String> sentences =
langTool.sentenceTokenize(textArea.getText());
- final StringBuilder sb = new StringBuilder();
- try {
- for (String sent : sentences) {
- final AnalyzedSentence analyzedText =
langTool.getAnalyzedSentence(sent);
- final String analyzedTextString =
StringTools.escapeHTML(analyzedText.toString(", ")).
- replace("[", "<font color='#888888'>[").replace("]",
"]</font>");
- sb.append(analyzedTextString).append("\n");
+ new Thread() {
+ @Override
+ public void run() {
+ setWaitCursor();
+ try {
+ final List<String> sentences =
langTool.sentenceTokenize(textArea.getText());
+ final StringBuilder sb = new StringBuilder();
+ try {
+ for (String sent : sentences) {
+ final AnalyzedSentence analyzedText =
langTool.getAnalyzedSentence(sent);
+ final String analyzedTextString =
StringTools.escapeHTML(analyzedText.toString(", ")).
+ replace("[", "<font color='#888888'>[").replace("]",
"]</font>");
+ sb.append(analyzedTextString).append("\n");
+ }
+ } catch (Exception e) {
+ sb.append(getStackTraceAsHtml(e));
+ }
+ resultArea.setText(HTML_FONT_START + sb.toString() +
HTML_FONT_END);
+ } finally {
+ unsetWaitCursor();
+ }
}
- } catch (IOException e) {
- sb.append("An error occurred while tagging the text:
").append(e.getMessage());
- }
- resultArea.setText(HTML_FONT_START + sb.toString() + HTML_FONT_END);
+ }.start();
}
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Keep yourself connected to Go Parallel:
INSIGHTS What's next for parallel hardware, programming and related areas?
Interviews and blogs by thought leaders keep you ahead of the curve.
http://goparallel.sourceforge.net
_______________________________________________
Languagetool-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-commits