X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Futil%2FAWTConsole.java;h=64c8e89c814a5e081fc9f3e36c3e62d63f25b6d1;hb=f96e6a945e2df8a844f428c08cfc08210d937fc0;hp=3b95f8a385793f8968e874ebf24a32effc6ce288;hpb=ad15cff29620f960119f80176f1fd443da9f6763;p=jalview.git diff --git a/src/jalview/util/AWTConsole.java b/src/jalview/util/AWTConsole.java index 3b95f8a..64c8e89 100644 --- a/src/jalview/util/AWTConsole.java +++ b/src/jalview/util/AWTConsole.java @@ -30,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; @@ -58,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(); @@ -111,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, "AWTConsoleReader1Thread"); reader.setDaemon(true); reader.start(); // - reader2 = new Thread(this); + reader2 = new Thread(this, "AWTConsoleReader2Thread"); reader2.setDaemon(true); reader2.start(); @@ -128,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, "AWTConsoleErrorLogThread"); errorThrower.setDaemon(true); errorThrower.start(); } + @Override public synchronized void windowClosed(WindowEvent evt) { quit = true; @@ -160,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 @@ -189,7 +209,9 @@ public class AWTConsole extends WindowAdapter implements WindowListener, textArea.append(input); } if (quit) + { return; + } } while (Thread.currentThread() == reader2) @@ -206,7 +228,9 @@ public class AWTConsole extends WindowAdapter implements WindowListener, textArea.append(input); } if (quit) + { return; + } } } catch (Exception e) { @@ -223,7 +247,8 @@ public class AWTConsole extends WindowAdapter implements WindowListener, } catch (InterruptedException ie) { } - throw new NullPointerException(MessageManager.getString("exception.application_test_npe")); + throw new NullPointerException( + MessageManager.getString("exception.application_test_npe")); } } @@ -236,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); @@ -244,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