X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Futil%2FAWTConsole.java;h=cf44dcbf8cdc30537aa5fd33c7761d4130d95fd0;hb=0c97b70b61d6d02ce932d04a1621d2961db77c16;hp=6698414784ce7b26ae0eea85d3551ce16d6f41a2;hpb=3d0101179759ef157b088ea135423cd909512d9f;p=jalview.git diff --git a/src/jalview/util/AWTConsole.java b/src/jalview/util/AWTConsole.java index 6698414..cf44dcb 100644 --- a/src/jalview/util/AWTConsole.java +++ b/src/jalview/util/AWTConsole.java @@ -48,6 +48,8 @@ import java.io.PipedInputStream; import java.io.PipedOutputStream; import java.io.PrintStream; +import jalview.bin.Jalview; + public class AWTConsole extends WindowAdapter implements WindowListener, ActionListener, Runnable { @@ -72,10 +74,10 @@ public class AWTConsole extends WindowAdapter // 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(); @@ -142,7 +144,9 @@ public class AWTConsole extends WindowAdapter .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 @@ -153,6 +157,7 @@ public class AWTConsole extends WindowAdapter errorThrower.start(); } + @Override public synchronized void windowClosed(WindowEvent evt) { quit = true; @@ -171,20 +176,23 @@ public class AWTConsole extends WindowAdapter } catch (Exception e) { } - System.exit(0); + Jalview.exit("Window closing. Bye!", 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 @@ -203,7 +211,9 @@ public class AWTConsole extends WindowAdapter textArea.append(input); } if (quit) + { return; + } } while (Thread.currentThread() == reader2) @@ -220,7 +230,9 @@ public class AWTConsole extends WindowAdapter textArea.append(input); } if (quit) + { return; + } } } catch (Exception e) { @@ -251,7 +263,9 @@ public class AWTConsole extends WindowAdapter { int available = in.available(); if (available == 0) + { break; + } byte b[] = new byte[available]; in.read(b); input = input + new String(b, 0, b.length); @@ -259,6 +273,11 @@ public class AWTConsole extends WindowAdapter return input; } + /** + * + * @param arg + * @j2sIgnore + */ public static void main(String[] arg) { new AWTConsole(); // create console with not reference