| 
| VerifyEvent and keycode MacOSX [message #57749] | Sat, 31 May 2003 19:14 |  | 
| Eclipse User  |  |  |  |  | Originally posted by: pdrolet.mac.com 
 Hi,
 
 I have been trying to do some validation of inputs in Text control. I
 want that only numbers be allowed. I add a VerifyLister to the control
 Here is the code of the listener:
 
 
 /*
 * Created on 2003-04-25
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
 package ca.infodata.fmedx.listeners;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.VerifyEvent;
 import org.eclipse.swt.events.VerifyListener;
 import org.apache.commons.validator.*;
 
 /**
 * @author pdrolet
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
 public class NumberVerifyListener implements VerifyListener{
 
 static boolean lDone = false;
 private static final NumberVerifyListener instance = new
 NumberVerifyListener();
 
 
 //	protected NumberVerifyListener(){
 //	}
 /*
 * @see
 org.eclipse.swt.events.VerifyListener#verifyText(org.eclipse .swt.events.VerifyEvent)
 
 
 */
 public void verifyText(VerifyEvent e) {
 System.out.println("e.text = "+e.text);
 System.out.println("e.keyCode = "+String.valueOf((e.keyCode)));
 if (!GenericValidator.matchRegexp(e.text,"[0-9]") && !(e.keyCode==SWT.BS)) {
 e.doit=false;
 }
 }
 
 public static VerifyListener getInstance() {
 return instance;
 }
 
 }
 
 
 But the keyCode returns 0 all the time. It doe not care which key is
 pressed! So if the user wants to delete (with backspace), it does not
 work. For example, if I press the 1 key, the console gets:
 
 e.text = 1
 e.keyCode = 0
 
 With backspace, it is:
 e.text =
 e.keyCode = 0
 
 Is-it a bug or I simply do not know how to program this?
 
 Thanks for your input.
 
 Patrice Drolet
 --
 Patrice Drolet
 Logiciels INFO-DATA inc.
 |  |  |  | 
Powered by 
FUDForum. Page generated in 0.03330 seconds