X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FConsole.java;h=de7574c67d9e84af0dbc2c7afff1a345dbbdb956;hb=136c0793b90b72b928c4d77dc109dd5c644e00d3;hp=4ab7586f19205349f44a7bd8dc9a9bb395a320da;hpb=ad15cff29620f960119f80176f1fd443da9f6763;p=jalview.git diff --git a/src/jalview/gui/Console.java b/src/jalview/gui/Console.java index 4ab7586..de7574c 100644 --- a/src/jalview/gui/Console.java +++ b/src/jalview/gui/Console.java @@ -22,10 +22,25 @@ package jalview.gui; import jalview.util.MessageManager; -import java.io.*; -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.GraphicsEnvironment; +import java.awt.Rectangle; +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; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; import org.apache.log4j.SimpleLayout; @@ -69,6 +84,10 @@ public class Console extends WindowAdapter implements WindowListener, // are we attached to some parent Desktop Desktop parent = null; + private int MIN_WIDTH = 300; + + private int MIN_HEIGHT = 250; + public Console() { // create all components and add them @@ -228,7 +247,9 @@ public class Console 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 @@ -244,9 +265,13 @@ public class Console extends WindowAdapter implements WindowListener, JFrame frame = new JFrame(string); frame.setName(string); if (x == -1) - x = (int) (i / 2); + { + x = i / 2; + } if (y == -1) - y = (int) (j / 2); + { + y = j / 2; + } frame.setBounds(x, y, i, j); return frame; } @@ -283,6 +308,7 @@ public class Console extends WindowAdapter implements WindowListener, frame = initFrame("Jalview Java Console", bounds.width, bounds.height, bounds.x, bounds.y); } + frame.setMinimumSize(new Dimension(MIN_WIDTH, MIN_HEIGHT)); // desktop.add(frame); initConsole(false); JalviewAppender jappender = new JalviewAppender(); @@ -330,6 +356,7 @@ public class Console extends WindowAdapter implements WindowListener, // System.exit(0); } + @Override public synchronized void windowClosed(WindowEvent evt) { frame.setVisible(false); @@ -350,6 +377,7 @@ public class Console extends WindowAdapter implements WindowListener, } } + @Override public synchronized void windowClosing(WindowEvent evt) { frame.setVisible(false); // default behaviour of JFrame @@ -358,12 +386,14 @@ public class Console extends WindowAdapter implements WindowListener, // frame.dispose(); } + @Override public synchronized void actionPerformed(ActionEvent evt) { trimBuffer(true); // textArea.setText(""); } + @Override public synchronized void run() { try @@ -395,7 +425,9 @@ public class Console extends WindowAdapter implements WindowListener, // lines++; } if (quit) + { return; + } } while (Thread.currentThread() == reader2) @@ -424,7 +456,9 @@ public class Console extends WindowAdapter implements WindowListener, // lines++; } if (quit) + { return; + } } while (Thread.currentThread() == textAppender) { @@ -501,7 +535,8 @@ public class Console 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")); } } @@ -515,6 +550,7 @@ public class Console extends WindowAdapter implements WindowListener, long time = System.nanoTime(); javax.swing.SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { displayPipe.append(input); // change to stringBuffer @@ -582,7 +618,9 @@ public class Console 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);