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

Reply via email to