mev-4.0.01/source/org/tigr/microarray/mev/cluster/gui/impl/dam/DAMSelectionAreaDialog.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: DAMSelectionAreaDialog.java,v $
2 26 Feb 07 jari 7  */
2 26 Feb 07 jari 8 package org.tigr.microarray.mev.cluster.gui.impl.dam;
2 26 Feb 07 jari 9
2 26 Feb 07 jari 10 import java.awt.BorderLayout;
2 26 Feb 07 jari 11 import java.awt.Color;
2 26 Feb 07 jari 12 import java.awt.Dimension;
2 26 Feb 07 jari 13 import java.awt.Frame;
2 26 Feb 07 jari 14 import java.awt.GridLayout;
2 26 Feb 07 jari 15 import java.awt.Toolkit;
2 26 Feb 07 jari 16 import java.awt.event.ActionEvent;
2 26 Feb 07 jari 17 import java.awt.event.WindowEvent;
2 26 Feb 07 jari 18
2 26 Feb 07 jari 19 import javax.swing.BorderFactory;
2 26 Feb 07 jari 20 import javax.swing.JLabel;
2 26 Feb 07 jari 21 import javax.swing.JOptionPane;
2 26 Feb 07 jari 22 import javax.swing.JPanel;
2 26 Feb 07 jari 23 import javax.swing.JTextField;
2 26 Feb 07 jari 24 import javax.swing.border.EmptyBorder;
2 26 Feb 07 jari 25
2 26 Feb 07 jari 26 import org.tigr.microarray.mev.cluster.gui.impl.GUIFactory;
2 26 Feb 07 jari 27 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.AlgorithmDialog;
2 26 Feb 07 jari 28 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.DialogListener;
2 26 Feb 07 jari 29 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.dialogHelpUtil.HelpWindow;
2 26 Feb 07 jari 30
2 26 Feb 07 jari 31 public class DAMSelectionAreaDialog extends AlgorithmDialog {
2 26 Feb 07 jari 32     private int result;
2 26 Feb 07 jari 33     private JTextField textField1;
2 26 Feb 07 jari 34     private JTextField textField2;
2 26 Feb 07 jari 35     private JTextField textField3;
2 26 Feb 07 jari 36     private JTextField textField4;
2 26 Feb 07 jari 37     private JTextField textField5;
2 26 Feb 07 jari 38     private JTextField textField6;
2 26 Feb 07 jari 39     
2 26 Feb 07 jari 40     private float positionX;
2 26 Feb 07 jari 41     private float positionY;
2 26 Feb 07 jari 42     private float positionZ;
2 26 Feb 07 jari 43     private float sizeX;
2 26 Feb 07 jari 44     private float sizeY;
2 26 Feb 07 jari 45     private float sizeZ;
2 26 Feb 07 jari 46     
2 26 Feb 07 jari 47     /**
2 26 Feb 07 jari 48      * Constructs a <code>DAMSelectionAreaDialog</code> with specified initial parameters.
2 26 Feb 07 jari 49      */
2 26 Feb 07 jari 50     public DAMSelectionAreaDialog(Frame parent, float positionX, float positionY, float positionZ,
2 26 Feb 07 jari 51     float sizeX, float sizeY, float sizeZ) {
2 26 Feb 07 jari 52         super(new javax.swing.JFrame(), "DAM selection area configuration", true);
2 26 Feb 07 jari 53         
2 26 Feb 07 jari 54         this.positionX = positionX;
2 26 Feb 07 jari 55         this.positionY = positionY;
2 26 Feb 07 jari 56         this.positionZ = positionZ;
2 26 Feb 07 jari 57         this.sizeX = sizeX;
2 26 Feb 07 jari 58         this.sizeY = sizeY;
2 26 Feb 07 jari 59         this.sizeZ = sizeZ;
2 26 Feb 07 jari 60         
2 26 Feb 07 jari 61         Listener listener = new Listener();
2 26 Feb 07 jari 62         addWindowListener(listener);
2 26 Feb 07 jari 63         
2 26 Feb 07 jari 64         JPanel parameters = new JPanel(new GridLayout(0, 2, 10, 0));
2 26 Feb 07 jari 65         parameters.setBorder(new EmptyBorder(20, 20, 20, 10));
2 26 Feb 07 jari 66         parameters.setBackground(Color.white);
2 26 Feb 07 jari 67         
2 26 Feb 07 jari 68         parameters.add(new JLabel("Position X  "));
2 26 Feb 07 jari 69         textField1 = new JTextField(Float.toString(positionX), 5);
2 26 Feb 07 jari 70         parameters.add(textField1, BorderLayout.EAST);
2 26 Feb 07 jari 71         
2 26 Feb 07 jari 72         parameters.add(new JLabel("Position Y  "));
2 26 Feb 07 jari 73         textField2 = new JTextField(Float.toString(positionY), 5);
2 26 Feb 07 jari 74         parameters.add(textField2, BorderLayout.EAST);
2 26 Feb 07 jari 75         
2 26 Feb 07 jari 76         parameters.add(new JLabel("Position Z  "));
2 26 Feb 07 jari 77         textField3 = new JTextField(Float.toString(positionZ), 5);
2 26 Feb 07 jari 78         parameters.add(textField3, BorderLayout.EAST);
2 26 Feb 07 jari 79         
2 26 Feb 07 jari 80         parameters.add(new JLabel("Size X  "));
2 26 Feb 07 jari 81         textField4 = new JTextField(Float.toString(sizeX), 5);
2 26 Feb 07 jari 82         parameters.add(textField4, BorderLayout.EAST);
2 26 Feb 07 jari 83         
2 26 Feb 07 jari 84         parameters.add(new JLabel("Size Y "));
2 26 Feb 07 jari 85         textField5 = new JTextField(Float.toString(sizeY), 5);
2 26 Feb 07 jari 86         parameters.add(textField5, BorderLayout.EAST);
2 26 Feb 07 jari 87         
2 26 Feb 07 jari 88         parameters.add(new JLabel("Size Z "));
2 26 Feb 07 jari 89         textField6 = new JTextField(Float.toString(sizeZ), 5);
2 26 Feb 07 jari 90         parameters.add(textField6, BorderLayout.EAST);
2 26 Feb 07 jari 91         
2 26 Feb 07 jari 92         
2 26 Feb 07 jari 93         JPanel panel3 = new JPanel(new BorderLayout());
2 26 Feb 07 jari 94         panel3.setForeground(Color.white);
2 26 Feb 07 jari 95         panel3.setBorder(BorderFactory.createLineBorder(Color.gray));
2 26 Feb 07 jari 96         panel3.setBackground(Color.white);
2 26 Feb 07 jari 97         panel3.add(parameters, BorderLayout.WEST);
2 26 Feb 07 jari 98         panel3.add(new JLabel(GUIFactory.getIcon("dialog_button_bar.gif")), BorderLayout.EAST);
2 26 Feb 07 jari 99         
2 26 Feb 07 jari 100         JPanel panel1 = new JPanel(new BorderLayout());
2 26 Feb 07 jari 101         panel1.add(panel3, BorderLayout.CENTER);
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 x position.
2 26 Feb 07 jari 120      */
2 26 Feb 07 jari 121     public float getPositionX() {
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 y position.
2 26 Feb 07 jari 127      */
2 26 Feb 07 jari 128     public float getPositionY() {
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 z position.
2 26 Feb 07 jari 134      */
2 26 Feb 07 jari 135     public float getPositionZ() {
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 x size.
2 26 Feb 07 jari 141      */
2 26 Feb 07 jari 142     public float getSizeX() {
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 y size.
2 26 Feb 07 jari 148      */
2 26 Feb 07 jari 149     public float getSizeY() {
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     /**
2 26 Feb 07 jari 154      * Returns z size.
2 26 Feb 07 jari 155      */
2 26 Feb 07 jari 156     public float getSizeZ() {
2 26 Feb 07 jari 157         return Float.parseFloat(textField6.getText());
2 26 Feb 07 jari 158     }
2 26 Feb 07 jari 159     
2 26 Feb 07 jari 160     public static void main(String [] args){
2 26 Feb 07 jari 161         DAMSelectionAreaDialog dialog = new DAMSelectionAreaDialog(new Frame(), 0,0,0,5,5,5);
2 26 Feb 07 jari 162         dialog.showModal();
2 26 Feb 07 jari 163     }
2 26 Feb 07 jari 164     
2 26 Feb 07 jari 165     /**
2 26 Feb 07 jari 166      * The listener to listen to the dialog events.
2 26 Feb 07 jari 167      */
2 26 Feb 07 jari 168     private class Listener extends DialogListener {
2 26 Feb 07 jari 169         
2 26 Feb 07 jari 170         public void actionPerformed(ActionEvent e) {
2 26 Feb 07 jari 171             String command = e.getActionCommand();
2 26 Feb 07 jari 172             if (command.equals("ok-command")) {
2 26 Feb 07 jari 173                 try {
2 26 Feb 07 jari 174                     Float.parseFloat(textField1.getText());
2 26 Feb 07 jari 175                     Float.parseFloat(textField2.getText());
2 26 Feb 07 jari 176                     Float.parseFloat(textField3.getText());
2 26 Feb 07 jari 177                     Float.parseFloat(textField4.getText());
2 26 Feb 07 jari 178                     Float.parseFloat(textField5.getText());
2 26 Feb 07 jari 179                     Float.parseFloat(textField6.getText());
2 26 Feb 07 jari 180                     result = JOptionPane.OK_OPTION;
2 26 Feb 07 jari 181                 } catch (Exception exception) {
2 26 Feb 07 jari 182                     result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 183                 }
2 26 Feb 07 jari 184                 dispose();
2 26 Feb 07 jari 185             } else if (command.equals("cancel-command")) {
2 26 Feb 07 jari 186                 result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 187                 dispose();
2 26 Feb 07 jari 188             } else if (command.equals("reset-command")){                
2 26 Feb 07 jari 189                 textField1.setText(String.valueOf(positionX));
2 26 Feb 07 jari 190                 textField2.setText(String.valueOf(positionY));
2 26 Feb 07 jari 191                 textField3.setText(String.valueOf(positionZ));
2 26 Feb 07 jari 192                 textField4.setText(String.valueOf(sizeX));
2 26 Feb 07 jari 193                 textField5.setText(String.valueOf(sizeY));
2 26 Feb 07 jari 194                 textField6.setText(String.valueOf(sizeZ));
2 26 Feb 07 jari 195             } else if (command.equals("info-command")){
2 26 Feb 07 jari 196                 HelpWindow helpWindow = new HelpWindow(DAMSelectionAreaDialog.this, "DAM Selection Area Configuration");
2 26 Feb 07 jari 197                 if(helpWindow.getWindowContent()){
2 26 Feb 07 jari 198                     helpWindow.setSize(450, 600);
2 26 Feb 07 jari 199                     helpWindow.setLocation();
2 26 Feb 07 jari 200                     helpWindow.show();
2 26 Feb 07 jari 201                 }
2 26 Feb 07 jari 202                 else{
2 26 Feb 07 jari 203                     helpWindow.dispose();
2 26 Feb 07 jari 204                 }
2 26 Feb 07 jari 205             }
2 26 Feb 07 jari 206         }
2 26 Feb 07 jari 207         
2 26 Feb 07 jari 208         public void windowClosing(WindowEvent e) {
2 26 Feb 07 jari 209             result = JOptionPane.CLOSED_OPTION;
2 26 Feb 07 jari 210             dispose();
2 26 Feb 07 jari 211         }
2 26 Feb 07 jari 212         
2 26 Feb 07 jari 213     }
2 26 Feb 07 jari 214     
2 26 Feb 07 jari 215 }