1 package baseCode.gui;
2
3 import java.awt.BorderLayout;
4 import java.awt.Dimension;
5 import java.awt.Toolkit;
6
7 import javax.swing.JFrame;
8 import javax.swing.UIManager;
9
10 import baseCode.gui.ColorMap;
11 import baseCode.gui.JMatrixDisplay;
12
13 /***
14 * This is an example of how you'd display a microarray.
15 *
16 * @author Will Braynen
17 * @version $Id: MatrixDisplayApp.java,v 1.1 2005/03/17 13:58:42 pavlidis Exp $
18 */
19 public class MatrixDisplayApp {
20 boolean packFrame = false;
21
22
23 public MatrixDisplayApp( String inDataFilename, String outPngFilename ) {
24
25 JFrame frame = new JFrame();
26 frame.getContentPane().setLayout( new BorderLayout() );
27 frame.setSize( new Dimension( 600, 550 ) );
28 frame.setTitle( "Eisen Plot" );
29
30
31
32
33
34 JMatrixDisplay matrixDisplay = null;
35 try {
36 matrixDisplay = new JMatrixDisplay( inDataFilename );
37 } catch ( java.io.IOException e ) {
38 System.err.println( "Unable to open file " + inDataFilename );
39 return;
40 }
41
42 matrixDisplay.setLabelsVisible( true );
43
44 try {
45 boolean showLabels = true;
46
47 matrixDisplay.saveImage( outPngFilename, showLabels );
48 } catch ( java.io.IOException e ) {
49 System.err.println( "Unable to save screenshot to file "
50 + outPngFilename );
51 return;
52 }
53
54 frame.getContentPane().add( matrixDisplay, BorderLayout.CENTER );
55
56
57
58
59 if ( packFrame ) {
60 frame.pack();
61 } else {
62 frame.validate();
63 }
64
65 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
66 Dimension frameSize = frame.getSize();
67 if ( frameSize.height > screenSize.height ) {
68 frameSize.height = screenSize.height;
69 }
70 if ( frameSize.width > screenSize.width ) {
71 frameSize.width = screenSize.width;
72 }
73 frame.setLocation( ( screenSize.width - frameSize.width ) / 2,
74 ( screenSize.height - frameSize.height ) / 2 );
75 frame.setVisible( true );
76
77 matrixDisplay.setStandardizedEnabled( true );
78
79
80 try {
81 matrixDisplay.setColorMap( ColorMap.GREENRED_COLORMAP );
82 }
83 catch( IllegalArgumentException e ) {e.printStackTrace();}
84
85 matrixDisplay.setStandardizedEnabled( false );
86
87
88
89
90
91
92
93
94
95
96
97 }
98
99
100 public static void main( String[] args ) {
101 try {
102 UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );
103 } catch ( Exception e ) {
104 e.printStackTrace();
105 }
106 if ( args.length > 1 ) {
107 new MatrixDisplayApp( args[0], args[1] );
108 } else {
109 System.err
110 .println( "Please specify dataFilename and outPngFilename by passing them as program arguments" );
111 }
112 }
113 }