SizeGUI.java

Go to the documentation of this file.
00001 /*
00002  * SizeDimensionGUI.java
00003  *
00004  * Created on 14 octobre 2003, 16:32
00005  */
00006 
00007 package org.net2map.pov.dimension.size;
00008 import java.beans.*;
00009 
00014 public class SizeGUI 
00015        extends org.net2map.pov.dimension.GUI 
00016        implements PropertyChangeListener
00017 {
00018     private static org.apache.log4j.Logger logger = 
00019     org.apache.log4j.Logger.getLogger(SizeGUI.class.getName());    
00020 
00021     
00022     //public static final float pageRankLowerLimit = 0;
00023     //public static final float pageRankHigherLimit = 1000;
00024     public static final float sliderStepsPerSizeUnit = 10;
00025     //private static final String dimensionName = "Size";
00026 
00027     private PropertyChangeSupport propertySupport;
00028 
00029     private SizeValue minSize;
00030     private SizeValue maxSize;
00031     
00033     public SizeGUI(org.net2map.pov.dimension.Container paramContainer)
00034     {
00035         super(paramContainer);
00036         logger.setLevel((org.apache.log4j.Level)org.apache.log4j.Priority.DEBUG);
00037         logger.warn("Creating...");
00038         propertySupport = new PropertyChangeSupport ( this );
00039         initComponents();
00040         minSize = new SizeValue();
00041         maxSize = new SizeValue();
00042         
00043         //this.setLayout(new java.awt.FlowLayout());
00044         //this.add(jPanel1);
00045 
00046         setMaximumSize(new java.awt.Dimension(HorizontalSize, MaximumVerticalSize));
00047         setMinimumSize(new java.awt.Dimension(HorizontalSize, MinimumVerticalSize));
00048         setPreferredSize(new java.awt.Dimension(HorizontalSize, PreferredVerticalSize));
00049         logger.warn("...Created");
00050     }
00051     
00052     public  void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
00053     {
00054         System.out.println("addPropertyChangeListener");
00055         propertySupport.addPropertyChangeListener (propertyName, listener);
00056     }
00057     
00058     public  void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
00059     {
00060         System.out.println("removePropertyChangeListener");        
00061         propertySupport.removePropertyChangeListener (propertyName, listener);
00062     }
00063     
00064     private SizeValue getMinSize()
00065     {
00066         return (minSize);
00067     }    
00068     
00069         
00070     private void setMinSize(SizeValue newMinSize) 
00071     {
00072         SizeValue oldValue = new SizeValue(minSize);
00073         //Checks that the new value is within the limits
00074 
00075         minSize = newMinSize;
00076 
00077         //minPageRank must always be <= than maxPageRank
00078 
00079         if (minSize.getValue() > maxSize.getValue())
00080         {
00081             maxSize.setValue(minSize);
00082             jSlider2.setValue(Math.round(maxSize.getValue() * sliderStepsPerSizeUnit));
00083             maxSizeFormattedTextField.setText("" + maxSize.getValue());
00084         }
00085         jSlider1.setValue(Math.round(minSize.getValue() * sliderStepsPerSizeUnit));
00086         propertySupport.firePropertyChange (SizeContainer.PROP_MIN_SIZE_PROPERTY, oldValue, minSize);
00087     } //END OF setMinSize
00088             
00089        
00090         
00091     private SizeValue getMaxSize()
00092     {
00093         return (maxSize);
00094     }    
00095     
00096     private void setMaxSize(SizeValue newMaxSize) 
00097     {
00098         SizeValue oldValue = new SizeValue(maxSize);
00099         maxSize = newMaxSize;
00100             
00101         //minPageRank must always be <= than maxPageRank
00102         if (minSize.getValue() > maxSize.getValue())
00103         {
00104             minSize.setValue(maxSize);
00105             jSlider1.setValue(Math.round(minSize.getValue() * 
00106                               sliderStepsPerSizeUnit));
00107             minSizeFormattedTextField.setText("" + minSize.getValue());
00108         }
00109         jSlider2.setValue(Math.round(maxSize.getValue() * sliderStepsPerSizeUnit));
00110         propertySupport.firePropertyChange (SizeContainer.PROP_MAX_SIZE_PROPERTY, 
00111                                             oldValue, maxSize);
00112     } //END OF setMaxPageRank
00113     
00114 
00120     private void initComponents()
00121     {
00122         java.awt.GridBagConstraints gridBagConstraints;
00123 
00124         jLabel1 = new javax.swing.JLabel();
00125         jSlider2 = new javax.swing.JSlider();
00126         jLabel2 = new javax.swing.JLabel();
00127         jSlider1 = new javax.swing.JSlider();
00128         minSizeFormattedTextField = new javax.swing.JFormattedTextField();
00129         maxSizeFormattedTextField = new javax.swing.JFormattedTextField();
00130 
00131         setLayout(new java.awt.GridBagLayout());
00132 
00133  
00134         jLabel1.setText(java.util.ResourceBundle.getBundle("org/net2map/pov/dimension/size/properties").getString("Max:"));
00135         gridBagConstraints = new java.awt.GridBagConstraints();
00136         gridBagConstraints.gridx = 0;
00137         gridBagConstraints.gridy = 1;
00138         gridBagConstraints.insets = new java.awt.Insets(1, 1, 1, 1);
00139         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
00140         add(jLabel1, gridBagConstraints);
00141 
00142         jSlider2.setMinimum(Math.round(SizeValue.LOWER_LIMIT * sliderStepsPerSizeUnit));
00143         jSlider2.setMaximum(Math.round(SizeValue.HIGHER_LIMIT * sliderStepsPerSizeUnit));
00144         jSlider2.setMaximumSize(new java.awt.Dimension(200, 16));
00145         jSlider2.setMinimumSize(new java.awt.Dimension(200, 16));
00146         jSlider2.setPreferredSize(new java.awt.Dimension(200, 16));
00147         jSlider2.addMouseListener(new java.awt.event.MouseAdapter()
00148         {
00149             public void mousePressed(java.awt.event.MouseEvent evt)
00150             {
00151                 jSlider2MousePressed(evt);
00152             }
00153         });
00154 
00155         jSlider2.addMouseMotionListener(new java.awt.event.MouseMotionAdapter()
00156         {
00157             public void mouseMoved(java.awt.event.MouseEvent evt)
00158             {
00159                 jSlider2MouseMoved(evt);
00160             }
00161             public void mouseDragged(java.awt.event.MouseEvent evt)
00162             {
00163                 jSlider2MouseDragged(evt);
00164             }
00165         });
00166 
00167         jSlider2.addPropertyChangeListener(new java.beans.PropertyChangeListener()
00168         {
00169             public void propertyChange(java.beans.PropertyChangeEvent evt)
00170             {
00171                 jSlider2PropertyChange(evt);
00172             }
00173         });
00174 
00175         gridBagConstraints = new java.awt.GridBagConstraints();
00176         gridBagConstraints.gridx = 1;
00177         gridBagConstraints.gridy = 1;
00178         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
00179         gridBagConstraints.ipadx = 10;
00180         gridBagConstraints.insets = new java.awt.Insets(2, 4, 2, 10);
00181         gridBagConstraints.weightx = 1.0;
00182         add(jSlider2, gridBagConstraints);
00183 
00184         jLabel2.setText(java.util.ResourceBundle.getBundle("org/net2map/pov/dimension/size/properties").getString("Min:"));
00185         gridBagConstraints = new java.awt.GridBagConstraints();
00186         gridBagConstraints.gridx = 0;
00187         gridBagConstraints.gridy = 0;
00188         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
00189         gridBagConstraints.insets = new java.awt.Insets(1, 1, 1, 1);
00190         add(jLabel2, gridBagConstraints);
00191 
00192         
00193         jSlider1.setMinimum(Math.round(SizeValue.LOWER_LIMIT * sliderStepsPerSizeUnit));
00194         jSlider1.setMaximum(Math.round(SizeValue.HIGHER_LIMIT * sliderStepsPerSizeUnit));
00195         jSlider1.setMaximumSize(new java.awt.Dimension(200, 16));
00196         jSlider1.setMinimumSize(new java.awt.Dimension(200, 16));
00197         jSlider1.setPreferredSize(new java.awt.Dimension(200, 16));
00198         jSlider1.addMouseListener(new java.awt.event.MouseAdapter()
00199         {
00200             public void mousePressed(java.awt.event.MouseEvent evt)
00201             {
00202                 jSlider1MousePressed(evt);
00203             }
00204         });
00205 
00206         jSlider1.addMouseMotionListener(new java.awt.event.MouseMotionAdapter()
00207         {
00208             public void mouseMoved(java.awt.event.MouseEvent evt)
00209             {
00210                 jSlider1MouseMoved(evt);
00211             }
00212             public void mouseDragged(java.awt.event.MouseEvent evt)
00213             {
00214                 jSlider1MouseDragged(evt);
00215             }
00216         });
00217 
00218         jSlider1.addPropertyChangeListener(new java.beans.PropertyChangeListener()
00219         {
00220             public void propertyChange(java.beans.PropertyChangeEvent evt)
00221             {
00222                 jSlider1PropertyChange(evt);
00223             }
00224         });
00225 
00226         gridBagConstraints = new java.awt.GridBagConstraints();
00227         gridBagConstraints.gridx = 1;
00228         gridBagConstraints.gridy = 0;
00229         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
00230         gridBagConstraints.ipadx = 10;
00231         gridBagConstraints.insets = new java.awt.Insets(2, 4, 2, 10);
00232         gridBagConstraints.weightx = 1.0;
00233         add(jSlider1, gridBagConstraints);
00234 
00235         //jLabel3.setText("jLabel3");
00236         minSizeFormattedTextField.setMaximumSize(new java.awt.Dimension(40, 16));
00237         minSizeFormattedTextField.setMinimumSize(new java.awt.Dimension(40, 16));
00238         minSizeFormattedTextField.setPreferredSize(new java.awt.Dimension(40, 16));
00239         gridBagConstraints = new java.awt.GridBagConstraints();
00240         gridBagConstraints.gridx = 3;
00241         gridBagConstraints.gridy = 0;
00242         gridBagConstraints.fill = java.awt.GridBagConstraints.NONE;
00243         gridBagConstraints.ipadx = 10;
00244         gridBagConstraints.insets = new java.awt.Insets(1, 1, 1, 1);
00245         gridBagConstraints.weightx = 0;
00246         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
00247         add(minSizeFormattedTextField, gridBagConstraints);
00248 
00249         //jLabel4.setText("jLabel4");
00250         maxSizeFormattedTextField.setMaximumSize(new java.awt.Dimension(40, 16));
00251         maxSizeFormattedTextField.setMinimumSize(new java.awt.Dimension(40, 16));
00252         maxSizeFormattedTextField.setPreferredSize(new java.awt.Dimension(40, 16));        
00253         gridBagConstraints = new java.awt.GridBagConstraints();
00254         gridBagConstraints.gridx = 3;
00255         gridBagConstraints.gridy = 1;
00256         gridBagConstraints.fill = java.awt.GridBagConstraints.NONE;
00257         gridBagConstraints.ipadx = 10;
00258         gridBagConstraints.insets = new java.awt.Insets(1, 1, 1, 1);
00259         gridBagConstraints.weightx = 0;
00260         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
00261         add(maxSizeFormattedTextField, gridBagConstraints);
00262 
00263     }
00264 
00265     private void jSlider2MouseDragged(java.awt.event.MouseEvent evt)
00266     {
00267         // Add your handling code here:
00268         setMaxSize(new SizeValue(jSlider2.getValue() / sliderStepsPerSizeUnit));
00269         maxSizeFormattedTextField.setText("" + maxSize.getValue());
00270     }
00271 
00272     private void jSlider2MouseMoved(java.awt.event.MouseEvent evt)
00273     {
00274         // Add your handling code here:
00275         maxSize.setValue(jSlider2.getValue() / sliderStepsPerSizeUnit);
00276         maxSizeFormattedTextField.setText("" + maxSize.getValue());
00277     }
00278 
00279     private void jSlider2MousePressed(java.awt.event.MouseEvent evt)
00280     {
00281         // Add your handling code here:
00282         setMaxSize(new SizeValue(jSlider2.getValue() / sliderStepsPerSizeUnit));
00283         maxSizeFormattedTextField.setText("" + maxSize.getValue());
00284     }
00285 
00286     private void jSlider2PropertyChange(java.beans.PropertyChangeEvent evt)
00287     {
00288         // Add your handling code here:
00289         setMaxSize(new SizeValue(jSlider2.getValue() / sliderStepsPerSizeUnit));
00290         maxSizeFormattedTextField.setText("" + maxSize.getValue());
00291     }
00292 
00293     private void jSlider1MousePressed(java.awt.event.MouseEvent evt)
00294     {
00295         // Add your handling code here:
00296         setMinSize(new SizeValue(jSlider1.getValue() / sliderStepsPerSizeUnit));
00297         minSize.setValue(jSlider1.getValue() / sliderStepsPerSizeUnit);
00298         minSizeFormattedTextField.setText("" + minSize.getValue());
00299     }
00300 
00301     private void jSlider1MouseMoved(java.awt.event.MouseEvent evt)
00302     {
00303         // Add your handling code here:
00304         minSize.setValue(jSlider1.getValue() / sliderStepsPerSizeUnit);
00305         minSizeFormattedTextField.setText("" + minSize.getValue());
00306     }
00307 
00308     private void jSlider1MouseDragged(java.awt.event.MouseEvent evt)
00309     {
00310         // Add your handling code here:
00311         setMinSize(new SizeValue(jSlider1.getValue() / sliderStepsPerSizeUnit));
00312         minSizeFormattedTextField.setText("" + minSize.getValue());
00313     }
00314 
00315     private void jSlider1PropertyChange(java.beans.PropertyChangeEvent evt)
00316     {
00317         // Add your handling code here:
00318         setMinSize(new SizeValue(jSlider1.getValue() / sliderStepsPerSizeUnit));
00319         minSizeFormattedTextField.setText("" + minSize.getValue());
00320     }    
00321     
00322     public void propertyChange(PropertyChangeEvent evt)
00323     {
00324         logger.warn("Evenement recu: " + evt.getPropertyName ()  );
00325         if (evt.getPropertyName() == SizeContainer.PROP_MIN_SIZE_PROPERTY)
00326         {
00327             minSize.setValue ((SizeValue)evt.getNewValue ());
00328             logger.warn("New value: " + minSize.getValue ());
00329         }
00330         else if (evt.getPropertyName() == SizeContainer.PROP_MAX_SIZE_PROPERTY)
00331         {
00332             maxSize.setValue ((SizeValue)evt.getNewValue ());
00333             logger.warn("New value: " + maxSize.getValue ());
00334         }
00335     }
00336     
00337     private javax.swing.JSlider jSlider2;
00338     private javax.swing.JLabel jLabel1;
00339     private javax.swing.JFormattedTextField minSizeFormattedTextField;
00340     private javax.swing.JFormattedTextField maxSizeFormattedTextField;
00341     private javax.swing.JLabel jLabel2;
00342     private javax.swing.JSlider jSlider1;
00343 
00344 }
Accueil | Téléchargement | Manuel | Doc. technique | Sources CVS | Faq | Nous contacter
©2003 - All Rights Reserved