JAL-1953 2.11.2 with Archeopteryx!
[jalview.git] / src / jalview / util / AWTConsole.java
index 3ac2927..751f940 100644 (file)
@@ -1,19 +1,21 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * Jalview is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License 
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
  *  
  * Jalview is distributed in the hope that it will be useful, but 
  * WITHOUT ANY WARRANTY; without even the implied warranty 
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
  * PURPOSE.  See the GNU General Public License for more details.
  * 
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
  * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.util;
@@ -28,12 +30,26 @@ package jalview.util;
 //
 // RJHM van den Bergh , rvdb@comweb.nl
 
-import java.io.*;
-import java.awt.*;
-import java.awt.event.*;
+import java.awt.BorderLayout;
+import java.awt.Button;
+import java.awt.Dimension;
+import java.awt.Frame;
+import java.awt.GraphicsEnvironment;
+import java.awt.Panel;
+import java.awt.TextArea;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.awt.event.WindowListener;
+import java.io.IOException;
+import java.io.PipedInputStream;
+import java.io.PipedOutputStream;
+import java.io.PrintStream;
 
-public class AWTConsole extends WindowAdapter implements WindowListener,
-        ActionListener, Runnable
+public class AWTConsole extends WindowAdapter
+        implements WindowListener, ActionListener, Runnable
 {
   private Frame frame;
 
@@ -56,10 +72,10 @@ public class AWTConsole extends WindowAdapter implements WindowListener,
     // create all components and add them
     frame = new Frame("Java Console");
     Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
-    Dimension frameSize = new Dimension((int) (screenSize.width / 2),
-            (int) (screenSize.height / 2));
-    int x = (int) (frameSize.width / 2);
-    int y = (int) (frameSize.height / 2);
+    Dimension frameSize = new Dimension(screenSize.width / 2,
+            screenSize.height / 2);
+    int x = frameSize.width / 2;
+    int y = frameSize.height / 2;
     frame.setBounds(x, y, frameSize.width, frameSize.height);
 
     textArea = new TextArea();
@@ -109,11 +125,11 @@ public class AWTConsole extends WindowAdapter implements WindowListener,
 
     // Starting two seperate threads to read from the PipedInputStreams
     //
-    reader = new Thread(this);
+    reader = new Thread(this, "AWTConsoleReader1");
     reader.setDaemon(true);
     reader.start();
     //
-    reader2 = new Thread(this);
+    reader2 = new Thread(this, "AWTConsoleReader2");
     reader2.setDaemon(true);
     reader2.start();
 
@@ -126,17 +142,20 @@ public class AWTConsole extends WindowAdapter implements WindowListener,
             .getLocalGraphicsEnvironment();
     String[] fontNames = ge.getAvailableFontFamilyNames();
     for (int n = 0; n < fontNames.length; n++)
+    {
       System.out.println(fontNames[n]);
+    }
     // Testing part: simple an error thrown anywhere in this JVM will be printed
     // on the Console
     // We do it with a seperate Thread becasue we don't wan't to break a Thread
     // used by the Console.
     System.out.println("\nLets throw an error on this console");
-    errorThrower = new Thread(this);
+    errorThrower = new Thread(this, "AWTConsoleErrorLog");
     errorThrower.setDaemon(true);
     errorThrower.start();
   }
 
+  @Override
   public synchronized void windowClosed(WindowEvent evt)
   {
     quit = true;
@@ -158,17 +177,20 @@ public class AWTConsole extends WindowAdapter implements WindowListener,
     System.exit(0);
   }
 
+  @Override
   public synchronized void windowClosing(WindowEvent evt)
   {
     frame.setVisible(false); // default behaviour of JFrame
     frame.dispose();
   }
 
+  @Override
   public synchronized void actionPerformed(ActionEvent evt)
   {
     textArea.setText("");
   }
 
+  @Override
   public synchronized void run()
   {
     try
@@ -187,7 +209,9 @@ public class AWTConsole extends WindowAdapter implements WindowListener,
           textArea.append(input);
         }
         if (quit)
+        {
           return;
+        }
       }
 
       while (Thread.currentThread() == reader2)
@@ -204,7 +228,9 @@ public class AWTConsole extends WindowAdapter implements WindowListener,
           textArea.append(input);
         }
         if (quit)
+        {
           return;
+        }
       }
     } catch (Exception e)
     {
@@ -222,7 +248,7 @@ public class AWTConsole extends WindowAdapter implements WindowListener,
       {
       }
       throw new NullPointerException(
-              "Application test: throwing an NullPointerException It should arrive at the console");
+              MessageManager.getString("exception.application_test_npe"));
     }
 
   }
@@ -235,7 +261,9 @@ public class AWTConsole extends WindowAdapter implements WindowListener,
     {
       int available = in.available();
       if (available == 0)
+      {
         break;
+      }
       byte b[] = new byte[available];
       in.read(b);
       input = input + new String(b, 0, b.length);
@@ -243,6 +271,11 @@ public class AWTConsole extends WindowAdapter implements WindowListener,
     return input;
   }
 
+  /**
+   * 
+   * @param arg
+   * @j2sIgnore
+   */
   public static void main(String[] arg)
   {
     new AWTConsole(); // create console with not reference