mev-4.0.01/source/org/tigr/microarray/mev/cluster/gui/impl/hcl/HCLConfigDialog.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2 Copyright @ 1999-2004, 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: HCLConfigDialog.java,v $
2 26 Feb 07 jari 7  * $Revision: 1.6 $
2 26 Feb 07 jari 8  * $Date: 2006/02/23 20:59:51 $
2 26 Feb 07 jari 9  * $Author: caliente $
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.hcl;
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.Font;
2 26 Feb 07 jari 18 import java.awt.Frame;
2 26 Feb 07 jari 19 import java.awt.GridBagConstraints;
2 26 Feb 07 jari 20 import java.awt.GridBagLayout;
2 26 Feb 07 jari 21 import java.awt.Insets;
2 26 Feb 07 jari 22 import java.awt.Toolkit;
2 26 Feb 07 jari 23 import java.awt.event.ActionEvent;
2 26 Feb 07 jari 24 import java.awt.event.KeyListener;
2 26 Feb 07 jari 25 import java.awt.event.WindowEvent;
2 26 Feb 07 jari 26 import java.util.Hashtable;
2 26 Feb 07 jari 27
2 26 Feb 07 jari 28 import javax.swing.BorderFactory;
2 26 Feb 07 jari 29 import javax.swing.JButton;
2 26 Feb 07 jari 30 import javax.swing.JCheckBox;
2 26 Feb 07 jari 31 import javax.swing.JLabel;
2 26 Feb 07 jari 32 import javax.swing.JOptionPane;
2 26 Feb 07 jari 33 import javax.swing.JPanel;
2 26 Feb 07 jari 34 import javax.swing.JSeparator;
2 26 Feb 07 jari 35 import javax.swing.JSlider;
2 26 Feb 07 jari 36 import javax.swing.JTextField;
2 26 Feb 07 jari 37 import javax.swing.UIManager;
2 26 Feb 07 jari 38 import javax.swing.border.BevelBorder;
2 26 Feb 07 jari 39 import javax.swing.border.EtchedBorder;
2 26 Feb 07 jari 40 import javax.swing.border.TitledBorder;
2 26 Feb 07 jari 41 import javax.swing.event.ChangeListener;
2 26 Feb 07 jari 42
2 26 Feb 07 jari 43 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.AlgorithmDialog;
2 26 Feb 07 jari 44 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.DialogListener;
2 26 Feb 07 jari 45 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.dialogHelpUtil.HelpWindow;
2 26 Feb 07 jari 46
2 26 Feb 07 jari 47 public class HCLConfigDialog extends AlgorithmDialog {
2 26 Feb 07 jari 48     
2 26 Feb 07 jari 49     private int result;
2 26 Feb 07 jari 50     private JTextField zeroTextField;
2 26 Feb 07 jari 51     private JTextField minTextField;
2 26 Feb 07 jari 52     private JTextField maxTextField;
2 26 Feb 07 jari 53     private JTextField numTerminalsField;
2 26 Feb 07 jari 54     
2 26 Feb 07 jari 55     private float zThr;
2 26 Feb 07 jari 56     private int minPixDist;
2 26 Feb 07 jari 57     private int maxPixDist;
2 26 Feb 07 jari 58     
2 26 Feb 07 jari 59     private float origZThr;
2 26 Feb 07 jari 60     private int origMinPixDist;
2 26 Feb 07 jari 61     private int origMaxPixDist;
2 26 Feb 07 jari 62     
2 26 Feb 07 jari 63     private float minDist;
2 26 Feb 07 jari 64     private float maxDist;
2 26 Feb 07 jari 65     private float distRange;
2 26 Feb 07 jari 66     private JButton applyButton;
2 26 Feb 07 jari 67     private JCheckBox createClusterViewsBox;
2 26 Feb 07 jari 68     private JSlider slider;
2 26 Feb 07 jari 69     private HCLTree tree;
2 26 Feb 07 jari 70
2 26 Feb 07 jari 71     private HCLViewer viewer;
2 26 Feb 07 jari 72     
2 26 Feb 07 jari 73     /**
2 26 Feb 07 jari 74      * Constructs the dialog.
2 26 Feb 07 jari 75      */
2 26 Feb 07 jari 76     public HCLConfigDialog(Frame parent, HCLViewer viewer, float zeroThreshold, int minPixelDistance, int maxPixelDistance, float minDist, float maxDist) {
2 26 Feb 07 jari 77         super(parent, "Tree Configuration", true);
2 26 Feb 07 jari 78         this.viewer = viewer;
2 26 Feb 07 jari 79         zThr = zeroThreshold;
2 26 Feb 07 jari 80         this.minDist = minDist;
2 26 Feb 07 jari 81         this.maxDist = maxDist;
2 26 Feb 07 jari 82         
2 26 Feb 07 jari 83         this.origZThr = zeroThreshold;
2 26 Feb 07 jari 84         this.origMinPixDist = minPixelDistance;
2 26 Feb 07 jari 85         this.origMaxPixDist = maxPixelDistance;
2 26 Feb 07 jari 86  
2 26 Feb 07 jari 87         this.distRange = maxDist - minDist;
2 26 Feb 07 jari 88         minPixDist = minPixelDistance;
2 26 Feb 07 jari 89         maxPixDist = maxPixelDistance;
2 26 Feb 07 jari 90         Listener listener = new Listener();
2 26 Feb 07 jari 91         addWindowListener(listener);
2 26 Feb 07 jari 92         
2 26 Feb 07 jari 93         JPanel cutOffPanel = new JPanel(new GridBagLayout());
2 26 Feb 07 jari 94         cutOffPanel.setBackground(Color.white);
2 26 Feb 07 jari 95         cutOffPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "Distance Treshold Adjustment", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Dialog", Font.BOLD, 12), Color.black));
2 26 Feb 07 jari 96         cutOffPanel.add(new JLabel("Distance threshold"), new GridBagConstraints(0,0,1,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(0,0,0,10),0,0));
2 26 Feb 07 jari 97         
2 26 Feb 07 jari 98         String z = String.valueOf(zeroThreshold);
2 26 Feb 07 jari 99         z = z.substring(0, Math.min(5, z.length()));
2 26 Feb 07 jari 100         zeroTextField = new JTextField(z, 4);
2 26 Feb 07 jari 101         
2 26 Feb 07 jari 102         cutOffPanel.add(zeroTextField, new GridBagConstraints(1,0,1,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(0,0,0,0),0,0));
2 26 Feb 07 jari 103         slider = new JSlider(JSlider.HORIZONTAL, 0, 1000, 0);
2 26 Feb 07 jari 104         slider.setBackground(Color.white);
2 26 Feb 07 jari 105         slider.setValue((int)(1000*((zThr-this.minDist)/(this.maxDist-this.minDist))));
2 26 Feb 07 jari 106         
2 26 Feb 07 jari 107         Hashtable labelTable = new Hashtable();
2 26 Feb 07 jari 108         labelTable.put( new Integer( 0 ), new JLabel("Min") );
2 26 Feb 07 jari 109         labelTable.put( new Integer(500), new JLabel("(Distance Range)"));
2 26 Feb 07 jari 110         labelTable.put( new Integer( 1000 ), new JLabel("Max") );
2 26 Feb 07 jari 111         slider.setLabelTable( labelTable );
2 26 Feb 07 jari 112         slider.setPaintLabels(true);
2 26 Feb 07 jari 113         
2 26 Feb 07 jari 114         cutOffPanel.add(slider, new GridBagConstraints(0,1,2,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(10,0,10,0),0,0));
2 26 Feb 07 jari 115         cutOffPanel.add(new JSeparator(JSeparator.VERTICAL), new GridBagConstraints(2,0,1,2,0,0,GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(5,10,5,10),0,0));
2 26 Feb 07 jari 116         cutOffPanel.add(new JLabel("# of Terminal Nodes:"), new GridBagConstraints(3,0,1,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(0,0,0,10),0,0));
2 26 Feb 07 jari 117         numTerminalsField = new JTextField(6);
2 26 Feb 07 jari 118         
2 26 Feb 07 jari 119         numTerminalsField.setEditable(false);
2 26 Feb 07 jari 120         numTerminalsField.setSize(90,25);
2 26 Feb 07 jari 121         numTerminalsField.setPreferredSize(new Dimension(90,25));
2 26 Feb 07 jari 122         cutOffPanel.add(numTerminalsField, new GridBagConstraints(4,0,1,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.NONE, new Insets(0,0,0,0),0,0));
2 26 Feb 07 jari 123         createClusterViewsBox = new JCheckBox("Create Cluster Viewers", false);
2 26 Feb 07 jari 124         createClusterViewsBox.setFocusPainted(false);
2 26 Feb 07 jari 125         createClusterViewsBox.setBackground(Color.white);
2 26 Feb 07 jari 126         createClusterViewsBox.setForeground(UIManager.getColor("Label.foreground"));
2 26 Feb 07 jari 127         cutOffPanel.add(createClusterViewsBox, new GridBagConstraints(3,1,2,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.NONE, new Insets(0,0,0,0),0,0));
2 26 Feb 07 jari 128         
2 26 Feb 07 jari 129         JPanel treeDimPanel = new JPanel(new GridBagLayout());
2 26 Feb 07 jari 130         treeDimPanel.setBackground(Color.white);
2 26 Feb 07 jari 131         treeDimPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "Tree Dimension Parameters", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Dialog", Font.BOLD, 12), Color.black));
2 26 Feb 07 jari 132         
2 26 Feb 07 jari 133         treeDimPanel.add(new JLabel("Minimum pixel height"), new GridBagConstraints(0,0,1,1,0.3,0,GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(0,20,0,10),0,0));
2 26 Feb 07 jari 134         treeDimPanel.add(new JLabel("Maximum pixel height"), new GridBagConstraints(0,1,1,1,0.3,0,GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(0,20,0,10),0,0));
2 26 Feb 07 jari 135         
2 26 Feb 07 jari 136         minTextField = new JTextField(String.valueOf(minPixelDistance), 4);
2 26 Feb 07 jari 137         treeDimPanel.add(minTextField, new GridBagConstraints(1,0,1,1,0.3,0,GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(0,0,0,0),0,0));
2 26 Feb 07 jari 138         maxTextField = new JTextField(String.valueOf(maxPixelDistance), 4);
2 26 Feb 07 jari 139         treeDimPanel.add(maxTextField, new GridBagConstraints(1,1,1,1,0.3,0,GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(0,0,0,0),0,0));
2 26 Feb 07 jari 140         applyButton = new JButton("Apply Dimensions");
2 26 Feb 07 jari 141         applyButton.setActionCommand("apply-tree-dimensions-command");
2 26 Feb 07 jari 142         applyButton.setFocusPainted(false);
2 26 Feb 07 jari 143         applyButton.setMargin(new Insets(5,15,5,15));
2 26 Feb 07 jari 144         applyButton.setSize(110, 30);
2 26 Feb 07 jari 145         applyButton.setPreferredSize(new Dimension(120, 30));
2 26 Feb 07 jari 146         applyButton.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED, Color.lightGray, Color.gray));
2 26 Feb 07 jari 147         treeDimPanel.add(applyButton, new GridBagConstraints(2,0,1,2,0.8,0,GridBagConstraints.CENTER,GridBagConstraints.NONE, new Insets(0,0,0,0),0,0));
2 26 Feb 07 jari 148         
2 26 Feb 07 jari 149         JPanel panel3 = new JPanel(new BorderLayout());
2 26 Feb 07 jari 150         panel3.setForeground(Color.white);
2 26 Feb 07 jari 151         panel3.setBorder(BorderFactory.createLineBorder(Color.gray));
2 26 Feb 07 jari 152         
2 26 Feb 07 jari 153         panel3.setBackground(Color.white);
2 26 Feb 07 jari 154         panel3.add(cutOffPanel, BorderLayout.NORTH);
2 26 Feb 07 jari 155         panel3.add(treeDimPanel, BorderLayout.CENTER);
2 26 Feb 07 jari 156         
2 26 Feb 07 jari 157         JPanel panel1 = new JPanel(new BorderLayout());
2 26 Feb 07 jari 158         
2 26 Feb 07 jari 159         panel1.add(panel3, BorderLayout.CENTER);
2 26 Feb 07 jari 160         addContent(panel1);
2 26 Feb 07 jari 161         slider.addChangeListener(listener);
2 26 Feb 07 jari 162         zeroTextField.addKeyListener(listener);
2 26 Feb 07 jari 163         applyButton.addActionListener(listener);
2 26 Feb 07 jari 164         setActionListeners(listener);
2 26 Feb 07 jari 165         this.pack();
2 26 Feb 07 jari 166         //  setResizable(false);
2 26 Feb 07 jari 167     }
2 26 Feb 07 jari 168     
2 26 Feb 07 jari 169     /**
2 26 Feb 07 jari 170      * Show the dialog in screen's center.
2 26 Feb 07 jari 171      */
2 26 Feb 07 jari 172     public int showModal() {
2 26 Feb 07 jari 173         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
2 26 Feb 07 jari 174         setLocation((screenSize.width - getSize().width)/2, (screenSize.height - getSize().height)/2);
2 26 Feb 07 jari 175         show();
2 26 Feb 07 jari 176         return result;
2 26 Feb 07 jari 177     }
2 26 Feb 07 jari 178     
2 26 Feb 07 jari 179     /**
2 26 Feb 07 jari 180      * Associate an HCLTree object with the Configuration Dialog
2 26 Feb 07 jari 181      */
2 26 Feb 07 jari 182     public void setTree(HCLTree tree){
2 26 Feb 07 jari 183         this.tree = tree;
2 26 Feb 07 jari 184         this.numTerminalsField.setText(String.valueOf(this.tree.getNumberOfTerminalNodes()));
2 26 Feb 07 jari 185     }
2 26 Feb 07 jari 186     
2 26 Feb 07 jari 187     /**
2 26 Feb 07 jari 188      * Returns choosed zero threshold value.
2 26 Feb 07 jari 189      */
2 26 Feb 07 jari 190     public float getZeroThreshold() {
2 26 Feb 07 jari 191         float value = Float.parseFloat(zeroTextField.getText());
2 26 Feb 07 jari 192         if(value <= minDist) return minDist;
2 26 Feb 07 jari 193         if(value >= maxDist) return maxDist;
2 26 Feb 07 jari 194         return value;
2 26 Feb 07 jari 195     }
2 26 Feb 07 jari 196     
2 26 Feb 07 jari 197     /**
2 26 Feb 07 jari 198      * Returns choosed min distance value.
2 26 Feb 07 jari 199      */
2 26 Feb 07 jari 200     public int getMinDistance() {
2 26 Feb 07 jari 201         return Integer.parseInt(minTextField.getText());
2 26 Feb 07 jari 202     }
2 26 Feb 07 jari 203     
2 26 Feb 07 jari 204     /**
2 26 Feb 07 jari 205      * Returns choosed max distance value.
2 26 Feb 07 jari 206      */
2 26 Feb 07 jari 207     public int getMaxDistance() {
2 26 Feb 07 jari 208         return Integer.parseInt(maxTextField.getText());
2 26 Feb 07 jari 209     }
2 26 Feb 07 jari 210     
2 26 Feb 07 jari 211     /**
2 26 Feb 07 jari 212      * Returns true if cluster views are to be created
2 26 Feb 07 jari 213      */
2 26 Feb 07 jari 214     public boolean isCreateClusterViews(){
2 26 Feb 07 jari 215         return this.createClusterViewsBox.isSelected();
2 26 Feb 07 jari 216     }
2 26 Feb 07 jari 217     
2 26 Feb 07 jari 218     /**
2 26 Feb 07 jari 219      * The class to listen to the dialog events.
2 26 Feb 07 jari 220      */
2 26 Feb 07 jari 221     private class Listener extends DialogListener implements ChangeListener, KeyListener{
2 26 Feb 07 jari 222         
2 26 Feb 07 jari 223         public void actionPerformed(ActionEvent e) {
2 26 Feb 07 jari 224             int min, max;
2 26 Feb 07 jari 225             String command = e.getActionCommand();
2 26 Feb 07 jari 226             if (command.equals("ok-command")) {
2 26 Feb 07 jari 227                 try {
2 26 Feb 07 jari 228                     zThr = Float.parseFloat(zeroTextField.getText());
2 26 Feb 07 jari 229                     minPixDist = Integer.parseInt(minTextField.getText());
2 26 Feb 07 jari 230                     maxPixDist = Integer.parseInt(maxTextField.getText());
2 26 Feb 07 jari 231                     tree.setProperties(zThr, minPixDist, maxPixDist);
2 26 Feb 07 jari 232                     viewer.revalidateViewer();
2 26 Feb 07 jari 233                     viewer.repaint();
2 26 Feb 07 jari 234                     result = JOptionPane.OK_OPTION;
2 26 Feb 07 jari 235                     dispose();
2 26 Feb 07 jari 236                 } catch (Exception exc) {
2 26 Feb 07 jari 237                     result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 238                     dispose();
2 26 Feb 07 jari 239                 }
2 26 Feb 07 jari 240             } else if(command.equals("apply-tree-dimensions-command")){                
2 26 Feb 07 jari 241                 try{
2 26 Feb 07 jari 242                     minPixDist = Integer.parseInt(minTextField.getText());
2 26 Feb 07 jari 243                     maxPixDist = Integer.parseInt(maxTextField.getText());
2 26 Feb 07 jari 244                     tree.setPixelHeightLimits(minPixDist, maxPixDist);
2 26 Feb 07 jari 245                     viewer.revalidateViewer();
2 26 Feb 07 jari 246                     viewer.repaint();
2 26 Feb 07 jari 247                 } catch (NumberFormatException e1) {
2 26 Feb 07 jari 248                     result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 249                     dispose();
2 26 Feb 07 jari 250                 }
2 26 Feb 07 jari 251             }else if (command.equals("cancel-command")) {
2 26 Feb 07 jari 252                 //reset to inital values
2 26 Feb 07 jari 253                 tree.setProperties(origZThr, origMinPixDist, origMaxPixDist);
2 26 Feb 07 jari 254                 viewer.revalidateViewer();
2 26 Feb 07 jari 255                 viewer.repaint();
2 26 Feb 07 jari 256                 result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 257                 dispose();
2 26 Feb 07 jari 258             } else if(command.equals("reset-command")){
2 26 Feb 07 jari 259                 //reset to inital values
2 26 Feb 07 jari 260                 zeroTextField.setText(String.valueOf(origZThr));
2 26 Feb 07 jari 261                 minTextField.setText(String.valueOf(origMinPixDist));
2 26 Feb 07 jari 262                 maxTextField.setText(String.valueOf(origMaxPixDist));
2 26 Feb 07 jari 263                 tree.setProperties(origZThr, origMinPixDist, origMaxPixDist);
2 26 Feb 07 jari 264                 slider.setValue(0);
2 26 Feb 07 jari 265                 createClusterViewsBox.setSelected(false);
2 26 Feb 07 jari 266                 viewer.revalidateViewer();
2 26 Feb 07 jari 267                 viewer.repaint();
2 26 Feb 07 jari 268             } else if(command.equals("info-command")){
2 26 Feb 07 jari 269                 HelpWindow helpWindow = new HelpWindow(HCLConfigDialog.this, "HCL Tree Properties");
2 26 Feb 07 jari 270                 if(helpWindow.getWindowContent()){
2 26 Feb 07 jari 271                     helpWindow.setSize(450, 500);
2 26 Feb 07 jari 272                     helpWindow.setLocation();
2 26 Feb 07 jari 273                     helpWindow.show();
2 26 Feb 07 jari 274                 }
2 26 Feb 07 jari 275                 else{
2 26 Feb 07 jari 276                     helpWindow.dispose();
2 26 Feb 07 jari 277                 }
2 26 Feb 07 jari 278             }
2 26 Feb 07 jari 279             
2 26 Feb 07 jari 280         }
2 26 Feb 07 jari 281         
2 26 Feb 07 jari 282         public void windowClosing(WindowEvent e) {
2 26 Feb 07 jari 283             result = JOptionPane.CLOSED_OPTION;
2 26 Feb 07 jari 284             dispose();
2 26 Feb 07 jari 285         }
2 26 Feb 07 jari 286         
2 26 Feb 07 jari 287         public void stateChanged(javax.swing.event.ChangeEvent changeEvent) {
2 26 Feb 07 jari 288             if(changeEvent.getSource() == slider){
2 26 Feb 07 jari 289                 //float value = distRange * (float)((Math.log(slider.getValue())/Math.log(2.0d))/(Math.log(100f)/Math.log(2.0d)));
2 26 Feb 07 jari 290                 // float value = distRange * (float)(Math.log((slider.getValue())/100f)/Math.log(2.0d));
2 26 Feb 07 jari 291                 float value = distRange * (float)(slider.getValue()/1000f) + minDist;
2 26 Feb 07 jari 292                 if(tree != null){
2 26 Feb 07 jari 293                     zThr = value;
2 26 Feb 07 jari 294                     tree.setZeroThreshold(value);
2 26 Feb 07 jari 295                     zeroTextField.setText(String.valueOf(value));
2 26 Feb 07 jari 296                     numTerminalsField.setText(String.valueOf(tree.getNumberOfTerminalNodes()));
2 26 Feb 07 jari 297                     
2 26 Feb 07 jari 298                     tree.repaint();
2 26 Feb 07 jari 299                     //   viewer.repaint();
2 26 Feb 07 jari 300                 }
2 26 Feb 07 jari 301             }
2 26 Feb 07 jari 302         }
2 26 Feb 07 jari 303         
2 26 Feb 07 jari 304         public void keyPressed(java.awt.event.KeyEvent keyEvent) {
2 26 Feb 07 jari 305         }
2 26 Feb 07 jari 306         
2 26 Feb 07 jari 307         public void keyReleased(java.awt.event.KeyEvent keyEvent) {
2 26 Feb 07 jari 308                         if(keyEvent.getSource() == zeroTextField){
2 26 Feb 07 jari 309                 try{
2 26 Feb 07 jari 310                     float value = Float.parseFloat(zeroTextField.getText());
2 26 Feb 07 jari 311                     zThr = value;
2 26 Feb 07 jari 312                     tree.setZeroThreshold(value);
2 26 Feb 07 jari 313                     numTerminalsField.setText(String.valueOf(tree.getNumberOfTerminalNodes()));
2 26 Feb 07 jari 314                     
2 26 Feb 07 jari 315                     tree.repaint();
2 26 Feb 07 jari 316                     
2 26 Feb 07 jari 317                 } catch (NumberFormatException e){
2 26 Feb 07 jari 318                 }
2 26 Feb 07 jari 319             }
2 26 Feb 07 jari 320         }
2 26 Feb 07 jari 321         
2 26 Feb 07 jari 322         public void keyTyped(java.awt.event.KeyEvent keyEvent) {
2 26 Feb 07 jari 323      }        
2 26 Feb 07 jari 324     }
2 26 Feb 07 jari 325     
2 26 Feb 07 jari 326     public static void main(String [] args){
2 26 Feb 07 jari 327            //   HCLConfigDialog_1 d = new HCLConfigDialog_1(new Frame(), 2, 3, 4, 0, 1);
2 26 Feb 07 jari 328            //   d.showModal();
2 26 Feb 07 jari 329            //    System.exit(0);
2 26 Feb 07 jari 330     }
2 26 Feb 07 jari 331 }