mev-4.0.01/source/org/tigr/microarray/mev/cluster/gui/impl/pca/PCAResultConfigDialog.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2 Copyright @ 1999-2005, The Institute for Genomic Research (TIGR).
2 26 Feb 07 jari 3 All rights reserved.
2 26 Feb 07 jari 4  */
2 26 Feb 07 jari 5 /*
2 26 Feb 07 jari 6  * $RCSfile: PCAResultConfigDialog.java,v $
2 26 Feb 07 jari 7  * $Revision: 1.4 $
2 26 Feb 07 jari 8  * $Date: 2006/04/20 18:55:54 $
2 26 Feb 07 jari 9  * $Author: eleanorahowe $
2 26 Feb 07 jari 10  * $State: Exp $
2 26 Feb 07 jari 11  */
2 26 Feb 07 jari 12 package org.tigr.microarray.mev.cluster.gui.impl.pca;
2 26 Feb 07 jari 13
2 26 Feb 07 jari 14 import java.awt.BorderLayout;
2 26 Feb 07 jari 15 import java.awt.Color;
2 26 Feb 07 jari 16 import java.awt.Dimension;
2 26 Feb 07 jari 17 import java.awt.Frame;
2 26 Feb 07 jari 18 import java.awt.GridLayout;
2 26 Feb 07 jari 19 import java.awt.Toolkit;
2 26 Feb 07 jari 20 import java.awt.event.ActionEvent;
2 26 Feb 07 jari 21 import java.awt.event.WindowEvent;
2 26 Feb 07 jari 22
2 26 Feb 07 jari 23 import javax.swing.BorderFactory;
2 26 Feb 07 jari 24 import javax.swing.JLabel;
2 26 Feb 07 jari 25 import javax.swing.JOptionPane;
2 26 Feb 07 jari 26 import javax.swing.JPanel;
2 26 Feb 07 jari 27 import javax.swing.JTextField;
2 26 Feb 07 jari 28 import javax.swing.border.EmptyBorder;
2 26 Feb 07 jari 29
2 26 Feb 07 jari 30 import org.tigr.microarray.mev.cluster.gui.impl.GUIFactory;
2 26 Feb 07 jari 31 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.AlgorithmDialog;
2 26 Feb 07 jari 32 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.DialogListener;
2 26 Feb 07 jari 33 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.dialogHelpUtil.HelpWindow;
2 26 Feb 07 jari 34
2 26 Feb 07 jari 35 public class PCAResultConfigDialog extends AlgorithmDialog {
2 26 Feb 07 jari 36     private int result;
2 26 Feb 07 jari 37     private JTextField textField1;
2 26 Feb 07 jari 38     private JTextField textField2;
2 26 Feb 07 jari 39     private JTextField textField3;
2 26 Feb 07 jari 40     private JTextField textField4;
2 26 Feb 07 jari 41     private JTextField textField5;
2 26 Feb 07 jari 42     private float pointSize;
2 26 Feb 07 jari 43     private float selectedPointSize;
2 26 Feb 07 jari 44     private float scaleAxisX;
2 26 Feb 07 jari 45     float scaleAxisY;
2 26 Feb 07 jari 46     float scaleAxisZ;
2 26 Feb 07 jari 47     
2 26 Feb 07 jari 48     /**
2 26 Feb 07 jari 49      * Constructs a <code>PCAResultConfigDialog</code> with specified initial parameters.
2 26 Feb 07 jari 50      */
2 26 Feb 07 jari 51     public PCAResultConfigDialog(Frame parent, float pointSize, float selectedPointSize, float scaleAxisX, float scaleAxisY, float scaleAxisZ) {
2 26 Feb 07 jari 52         super(new javax.swing.JFrame(), "PCA Result Configuration", true);
2 26 Feb 07 jari 53         this.pointSize = pointSize;
2 26 Feb 07 jari 54         this.selectedPointSize = selectedPointSize;
2 26 Feb 07 jari 55         this.scaleAxisX = scaleAxisX;
2 26 Feb 07 jari 56         this.scaleAxisY = scaleAxisY;
2 26 Feb 07 jari 57         this.scaleAxisZ = scaleAxisZ;
2 26 Feb 07 jari 58         
2 26 Feb 07 jari 59         Listener listener = new Listener();
2 26 Feb 07 jari 60         addWindowListener(listener);
2 26 Feb 07 jari 61         
2 26 Feb 07 jari 62         JPanel parameters = new JPanel(new GridLayout(0,2,10,0));
2 26 Feb 07 jari 63         parameters.setBorder(new EmptyBorder(20, 20, 20, 10));
2 26 Feb 07 jari 64         parameters.setBackground(Color.white);
2 26 Feb 07 jari 65         
2 26 Feb 07 jari 66         parameters.add(new JLabel("Scale axis X  "));
2 26 Feb 07 jari 67         
2 26 Feb 07 jari 68         textField1 = new JTextField(Float.toString(scaleAxisX), 5);
2 26 Feb 07 jari 69         parameters.add(textField1, BorderLayout.EAST);
2 26 Feb 07 jari 70         
2 26 Feb 07 jari 71         parameters.add(new JLabel("Scale axis Y  "));
2 26 Feb 07 jari 72         textField2 = new JTextField(Float.toString(scaleAxisY), 5);
2 26 Feb 07 jari 73         parameters.add(textField2, BorderLayout.EAST);
2 26 Feb 07 jari 74         
2 26 Feb 07 jari 75         parameters.add(new JLabel("Scale axis Z  "));
2 26 Feb 07 jari 76         textField3 = new JTextField(Float.toString(scaleAxisZ), 5);
2 26 Feb 07 jari 77         parameters.add(textField3, BorderLayout.EAST);
2 26 Feb 07 jari 78         
2 26 Feb 07 jari 79         parameters.add(new JLabel("Pointsize  "));
2 26 Feb 07 jari 80         textField4 = new JTextField(Float.toString(pointSize), 5);
2 26 Feb 07 jari 81         parameters.add(textField4, BorderLayout.EAST);
2 26 Feb 07 jari 82         
2 26 Feb 07 jari 83         parameters.add(new JLabel("Selected "));
2 26 Feb 07 jari 84         textField5 = new JTextField(Float.toString(selectedPointSize), 5);
2 26 Feb 07 jari 85         parameters.add(textField5, BorderLayout.EAST);
2 26 Feb 07 jari 86         
2 26 Feb 07 jari 87         
2 26 Feb 07 jari 88         JPanel panel2 = new JPanel(new BorderLayout());
2 26 Feb 07 jari 89         panel2.setBorder(new EmptyBorder(10, 0, 0, 0));
2 26 Feb 07 jari 90         
2 26 Feb 07 jari 91         
2 26 Feb 07 jari 92         JPanel panel3 = new JPanel(new BorderLayout());
2 26 Feb 07 jari 93         panel3.setForeground(Color.white);
2 26 Feb 07 jari 94         panel3.setBorder(BorderFactory.createLineBorder(Color.gray));
2 26 Feb 07 jari 95         panel3.setBackground(Color.white);
2 26 Feb 07 jari 96         panel3.add(parameters, BorderLayout.WEST);
2 26 Feb 07 jari 97         panel3.add(new JLabel(GUIFactory.getIcon("dialog_button_bar.gif")), BorderLayout.EAST);
2 26 Feb 07 jari 98         
2 26 Feb 07 jari 99         JPanel panel1 = new JPanel(new BorderLayout());
2 26 Feb 07 jari 100         panel1.add(panel2, BorderLayout.SOUTH);
2 26 Feb 07 jari 101         panel1.add(panel3, BorderLayout.NORTH);
2 26 Feb 07 jari 102         addContent(panel1);
2 26 Feb 07 jari 103         setActionListeners(listener);
2 26 Feb 07 jari 104         pack();
2 26 Feb 07 jari 105         setResizable(false);
2 26 Feb 07 jari 106     }
2 26 Feb 07 jari 107     
2 26 Feb 07 jari 108     /**
2 26 Feb 07 jari 109      * Shows the dialog.
2 26 Feb 07 jari 110      */
2 26 Feb 07 jari 111     public int showModal() {
2 26 Feb 07 jari 112         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
2 26 Feb 07 jari 113         setLocation((screenSize.width - getSize().width)/2, (screenSize.height - getSize().height)/2);
2 26 Feb 07 jari 114         show();
2 26 Feb 07 jari 115         return result;
2 26 Feb 07 jari 116     }
2 26 Feb 07 jari 117     
2 26 Feb 07 jari 118     /**
2 26 Feb 07 jari 119      * Returns a scale of x axis.
2 26 Feb 07 jari 120      */
2 26 Feb 07 jari 121     public float getScaleAxisX() {
2 26 Feb 07 jari 122         return Float.parseFloat(textField1.getText());
2 26 Feb 07 jari 123     }
2 26 Feb 07 jari 124     
2 26 Feb 07 jari 125     /**
2 26 Feb 07 jari 126      * Returns a scale of y axis.
2 26 Feb 07 jari 127      */
2 26 Feb 07 jari 128     public float getScaleAxisY() {
2 26 Feb 07 jari 129         return Float.parseFloat(textField2.getText());
2 26 Feb 07 jari 130     }
2 26 Feb 07 jari 131     
2 26 Feb 07 jari 132     /**
2 26 Feb 07 jari 133      * Returns a scale of z axis.
2 26 Feb 07 jari 134      */
2 26 Feb 07 jari 135     public float getScaleAxisZ() {
2 26 Feb 07 jari 136         return Float.parseFloat(textField3.getText());
2 26 Feb 07 jari 137     }
2 26 Feb 07 jari 138     
2 26 Feb 07 jari 139     /**
2 26 Feb 07 jari 140      * Returns a point size.
2 26 Feb 07 jari 141      */
2 26 Feb 07 jari 142     public float getPointSize() {
2 26 Feb 07 jari 143         return Float.parseFloat(textField4.getText());
2 26 Feb 07 jari 144     }
2 26 Feb 07 jari 145     
2 26 Feb 07 jari 146     /**
2 26 Feb 07 jari 147      * Returns a selected point size.
2 26 Feb 07 jari 148      */
2 26 Feb 07 jari 149     public float getSelectedPointSize() {
2 26 Feb 07 jari 150         return Float.parseFloat(textField5.getText());
2 26 Feb 07 jari 151     }
2 26 Feb 07 jari 152     
2 26 Feb 07 jari 153     public static void main(String [] args){
2 26 Feb 07 jari 154         PCAResultConfigDialog dialog = new PCAResultConfigDialog(new Frame(), 1,1,5,5,5);
2 26 Feb 07 jari 155         dialog.showModal();
2 26 Feb 07 jari 156     }
2 26 Feb 07 jari 157     
2 26 Feb 07 jari 158     /**
2 26 Feb 07 jari 159      * The listener to listen to the dialog events.
2 26 Feb 07 jari 160      */
2 26 Feb 07 jari 161     private class Listener extends DialogListener {
2 26 Feb 07 jari 162         
2 26 Feb 07 jari 163         public void actionPerformed(ActionEvent e) {
2 26 Feb 07 jari 164             String command = e.getActionCommand();
2 26 Feb 07 jari 165             if (command.equals("ok-command")) {
2 26 Feb 07 jari 166                 try {
2 26 Feb 07 jari 167                     Float.parseFloat(textField1.getText());
2 26 Feb 07 jari 168                     Float.parseFloat(textField2.getText());
2 26 Feb 07 jari 169                     Float.parseFloat(textField3.getText());
2 26 Feb 07 jari 170                     Float.parseFloat(textField4.getText());
2 26 Feb 07 jari 171                     Float.parseFloat(textField5.getText());
2 26 Feb 07 jari 172                     result = JOptionPane.OK_OPTION;
2 26 Feb 07 jari 173                 } catch (Exception exception) {
2 26 Feb 07 jari 174                     result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 175                 }
2 26 Feb 07 jari 176                 dispose();
2 26 Feb 07 jari 177             } else if (command.equals("cancel-command")) {
2 26 Feb 07 jari 178                 result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 179                 dispose();
2 26 Feb 07 jari 180             } else if (command.equals("reset-command")){
2 26 Feb 07 jari 181                 textField1.setText(String.valueOf(scaleAxisX));
2 26 Feb 07 jari 182                 textField2.setText(String.valueOf(scaleAxisY));
2 26 Feb 07 jari 183                 textField3.setText(String.valueOf(scaleAxisZ));                
2 26 Feb 07 jari 184                 textField4.setText(String.valueOf(pointSize));
2 26 Feb 07 jari 185                 textField5.setText(String.valueOf(selectedPointSize));
2 26 Feb 07 jari 186             } else if (command.equals("info-command")){
2 26 Feb 07 jari 187                 HelpWindow helpWindow = new HelpWindow(PCAResultConfigDialog.this, "PCA Result Configuration");
2 26 Feb 07 jari 188                 if(helpWindow.getWindowContent()){
2 26 Feb 07 jari 189                     helpWindow.setSize(450, 600);
2 26 Feb 07 jari 190                     helpWindow.setLocation();
2 26 Feb 07 jari 191                     helpWindow.show();
2 26 Feb 07 jari 192                 }
2 26 Feb 07 jari 193                 else{
2 26 Feb 07 jari 194                     helpWindow.dispose();
2 26 Feb 07 jari 195                 }
2 26 Feb 07 jari 196             }
2 26 Feb 07 jari 197             
2 26 Feb 07 jari 198         }
2 26 Feb 07 jari 199         
2 26 Feb 07 jari 200         public void windowClosing(WindowEvent e) {
2 26 Feb 07 jari 201             result = JOptionPane.CLOSED_OPTION;
2 26 Feb 07 jari 202             dispose();
2 26 Feb 07 jari 203         }
2 26 Feb 07 jari 204         
2 26 Feb 07 jari 205     }
2 26 Feb 07 jari 206 }