Save This Page
Home » openjdk-7 » javax » swing » beaninfo » [javadoc | source]
    1   /*
    2    * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
    3    * 
    4    * Redistribution and use in source and binary forms, with or
    5    * without modification, are permitted provided that the following
    6    * conditions are met:
    7    * 
    8    * - Redistributions of source code must retain the above copyright
    9    *   notice, this list of conditions and the following disclaimer.
   10    * 
   11    * - Redistribution in binary form must reproduce the above
   12    *   copyright notice, this list of conditions and the following
   13    *   disclaimer in the documentation and/or other materials
   14    *   provided with the distribution.
   15    * 
   16    * Neither the name of Sun Microsystems, Inc. or the names of
   17    * contributors may be used to endorse or promote products derived
   18    * from this software without specific prior written permission.
   19    * 
   20    * This software is provided "AS IS," without a warranty of any
   21    * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
   22    * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
   23    * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
   24    * EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY
   25    * DAMAGES OR LIABILITIES SUFFERED BY LICENSEE AS A RESULT OF OR
   26    * RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE OR
   27    * ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE
   28    * FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT,
   29    * SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
   30    * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF
   31    * THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS
   32    * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
   33    * 
   34    * You acknowledge that this software is not designed, licensed or
   35    * intended for use in the design, construction, operation or
   36    * maintenance of any nuclear facility.
   37    */
   38   
   39   package javax.swing.beaninfo;
   40   
   41   import java.awt.event.KeyAdapter;
   42   import java.awt.event.KeyEvent;
   43   import java.beans.PropertyDescriptor;
   44   
   45   import javax.swing.BoxLayout;
   46   import javax.swing.JPanel;
   47   import javax.swing.JTextField;
   48   
   49   /**
   50    * A property editor for editing strings.
   51    *
   52    * @version 1.3 02/27/02
   53    * @author  Mark Davidson
   54    */
   55   public class SwingStringEditor extends SwingEditorSupport {
   56       
   57       private JTextField textfield;
   58   
   59       public SwingStringEditor() {
   60           textfield = new JTextField();
   61           textfield.addKeyListener(new KeyAdapter()  {
   62               // XXX - JTextfield should send an actionPerformed event.
   63               // this was broken for 1.3 beta but fixed in 1.3. This
   64               // is the workaround.
   65               public void keyPressed(KeyEvent evt)  {
   66                   if (evt.getKeyCode() == KeyEvent.VK_ENTER)  {
   67                       setValue(textfield.getText());
   68                   }
   69               }
   70           });
   71   
   72           panel = new JPanel();
   73           panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
   74           panel.add(textfield);
   75       }
   76   
   77       public void setValue(Object value)  {
   78           super.setValue(value);
   79           if (value != null)  {
   80               textfield.setText(value.toString());
   81           } else {
   82               textfield.setText("");
   83           }
   84       }
   85   
   86       public void init(PropertyDescriptor descriptor) {
   87           textfield.setEditable( descriptor.getWriteMethod() != null );
   88       }
   89   }

Save This Page
Home » openjdk-7 » javax » swing » beaninfo » [javadoc | source]