mev-4.0.01/source/org/tigr/microarray/mev/cluster/gui/impl/tease/TEASEConfigDialog.java

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