mev-4.0.01/source/org/tigr/microarray/mev/cluster/gui/impl/coa/COAInitDialog.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2  * COAInitDialog.java
2 26 Feb 07 jari 3  *
2 26 Feb 07 jari 4  * Created on September 16, 2004, 4:22 PM
2 26 Feb 07 jari 5  */
2 26 Feb 07 jari 6
2 26 Feb 07 jari 7 package org.tigr.microarray.mev.cluster.gui.impl.coa;
2 26 Feb 07 jari 8
2 26 Feb 07 jari 9 import java.awt.Color;
2 26 Feb 07 jari 10 import java.awt.Dimension;
2 26 Feb 07 jari 11 import java.awt.GridBagConstraints;
2 26 Feb 07 jari 12 import java.awt.GridBagLayout;
2 26 Feb 07 jari 13 import java.awt.Toolkit;
2 26 Feb 07 jari 14 import java.awt.event.ActionEvent;
2 26 Feb 07 jari 15 import java.awt.event.ActionListener;
2 26 Feb 07 jari 16 import java.awt.event.WindowAdapter;
2 26 Feb 07 jari 17
2 26 Feb 07 jari 18 import javax.swing.JFrame;
2 26 Feb 07 jari 19 import javax.swing.JLabel;
2 26 Feb 07 jari 20 import javax.swing.JOptionPane;
2 26 Feb 07 jari 21 import javax.swing.JPanel;
2 26 Feb 07 jari 22 import javax.swing.JTextField;
2 26 Feb 07 jari 23 import javax.swing.border.EtchedBorder;
2 26 Feb 07 jari 24
2 26 Feb 07 jari 25 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.AlgorithmDialog;
2 26 Feb 07 jari 26
2 26 Feb 07 jari 27 /**
2 26 Feb 07 jari 28  *
2 26 Feb 07 jari 29  * @author  nbhagaba
2 26 Feb 07 jari 30  */
2 26 Feb 07 jari 31 public class COAInitDialog extends AlgorithmDialog {
2 26 Feb 07 jari 32     
2 26 Feb 07 jari 33     boolean okPressed = false;  
2 26 Feb 07 jari 34     JTextField numNeighborsField;
2 26 Feb 07 jari 35     
2 26 Feb 07 jari 36     /** Creates a new instance of COAInitDialog */
2 26 Feb 07 jari 37     public COAInitDialog(JFrame parentFrame, boolean modality) {
2 26 Feb 07 jari 38         super(parentFrame, "COA", modality);  
2 26 Feb 07 jari 39         setBounds(0, 0, 600, 200);
2 26 Feb 07 jari 40         setBackground(Color.white);
2 26 Feb 07 jari 41         setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);   
2 26 Feb 07 jari 42         
2 26 Feb 07 jari 43         GridBagLayout gridbag = new GridBagLayout();
2 26 Feb 07 jari 44         GridBagConstraints constraints = new GridBagConstraints();
2 26 Feb 07 jari 45         constraints.fill = GridBagConstraints.NONE;       
2 26 Feb 07 jari 46         
2 26 Feb 07 jari 47         JPanel pane = new JPanel();
2 26 Feb 07 jari 48         pane.setBackground(Color.white);
2 26 Feb 07 jari 49         pane.setBorder(new EtchedBorder());
2 26 Feb 07 jari 50         pane.setLayout(gridbag);       
2 26 Feb 07 jari 51         
2 26 Feb 07 jari 52         JLabel numNeibsLabel= new JLabel("Number for neighbors for KNN imputation :");
2 26 Feb 07 jari 53         buildConstraints(constraints, 0, 0, 1, 1, 50, 100);
2 26 Feb 07 jari 54         gridbag.setConstraints(numNeibsLabel, constraints);
2 26 Feb 07 jari 55         pane.add(numNeibsLabel);     
2 26 Feb 07 jari 56         
2 26 Feb 07 jari 57         numNeighborsField = new JTextField("10", 7);
2 26 Feb 07 jari 58         buildConstraints(constraints, 1, 0, 1, 1, 50, 100);
2 26 Feb 07 jari 59         gridbag.setConstraints(numNeighborsField, constraints);
2 26 Feb 07 jari 60         pane.add(numNeighborsField);
2 26 Feb 07 jari 61         
2 26 Feb 07 jari 62         addContent(pane);
2 26 Feb 07 jari 63         EventListener listener = new EventListener();        
2 26 Feb 07 jari 64         setActionListeners(listener);
2 26 Feb 07 jari 65         this.addWindowListener(listener);        
2 26 Feb 07 jari 66     }
2 26 Feb 07 jari 67     
2 26 Feb 07 jari 68     public void setVisible(boolean visible) {
2 26 Feb 07 jari 69         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
2 26 Feb 07 jari 70         setLocation((screenSize.width - getSize().width)/2, (screenSize.height - getSize().height)/2);
2 26 Feb 07 jari 71         
2 26 Feb 07 jari 72         super.setVisible(visible);
2 26 Feb 07 jari 73     }    
2 26 Feb 07 jari 74     
2 26 Feb 07 jari 75     void buildConstraints(GridBagConstraints gbc, int gx, int gy,
2 26 Feb 07 jari 76     int gw, int gh, int wx, int wy) {
2 26 Feb 07 jari 77         
2 26 Feb 07 jari 78         gbc.gridx = gx;
2 26 Feb 07 jari 79         gbc.gridy = gy;
2 26 Feb 07 jari 80         gbc.gridwidth = gw;
2 26 Feb 07 jari 81         gbc.gridheight = gh;
2 26 Feb 07 jari 82         gbc.weightx = wx;
2 26 Feb 07 jari 83         gbc.weighty = wy;
2 26 Feb 07 jari 84     } 
2 26 Feb 07 jari 85     
2 26 Feb 07 jari 86     public boolean isOkPressed() {
2 26 Feb 07 jari 87         return okPressed;
2 26 Feb 07 jari 88     } 
2 26 Feb 07 jari 89     
2 26 Feb 07 jari 90     public int getNumNeighbors() {
2 26 Feb 07 jari 91         return Integer.parseInt(numNeighborsField.getText());
2 26 Feb 07 jari 92     }
2 26 Feb 07 jari 93     
2 26 Feb 07 jari 94     public class EventListener extends WindowAdapter implements ActionListener{
2 26 Feb 07 jari 95         
2 26 Feb 07 jari 96         public void actionPerformed(ActionEvent ae) {
2 26 Feb 07 jari 97             String command = ae.getActionCommand();
2 26 Feb 07 jari 98             if(command.equals("ok-command")){
2 26 Feb 07 jari 99                 try {
2 26 Feb 07 jari 100                     int numNeibs = getNumNeighbors();
2 26 Feb 07 jari 101                     if (numNeibs <= 0) {
2 26 Feb 07 jari 102                         JOptionPane.showMessageDialog(null, "Invalid number of neighbors", "Error", JOptionPane.ERROR_MESSAGE);
2 26 Feb 07 jari 103                         return;                        
2 26 Feb 07 jari 104                     } else {
2 26 Feb 07 jari 105                         okPressed = true;
2 26 Feb 07 jari 106                         dispose();
2 26 Feb 07 jari 107                     }
2 26 Feb 07 jari 108                 } catch (NumberFormatException nfe){
2 26 Feb 07 jari 109                     JOptionPane.showMessageDialog(null, "Invalid number of neighbors", "Error", JOptionPane.ERROR_MESSAGE);
2 26 Feb 07 jari 110                     return;
2 26 Feb 07 jari 111                 }
2 26 Feb 07 jari 112             } else if (command.equals("reset-command")) {
2 26 Feb 07 jari 113                 numNeighborsField.setText("10");
2 26 Feb 07 jari 114             } else if (command.equals("cancel-command")) {
2 26 Feb 07 jari 115                 okPressed = false;
2 26 Feb 07 jari 116                 dispose();
2 26 Feb 07 jari 117             } else if (command.equals("info-command")){                
2 26 Feb 07 jari 118             }
2 26 Feb 07 jari 119         }
2 26 Feb 07 jari 120     }
2 26 Feb 07 jari 121     
2 26 Feb 07 jari 122     public static void main (String[] args) {
2 26 Feb 07 jari 123         COAInitDialog cd = new COAInitDialog(new JFrame(), true);
2 26 Feb 07 jari 124         cd.setVisible(true);
2 26 Feb 07 jari 125     }
2 26 Feb 07 jari 126     
2 26 Feb 07 jari 127 }