解决文本框实时校验慢的方法
来源:互联网 发布:python逐行写入文件 编辑:程序博客网 时间:2024/06/05 02:59
public class TestWindow extends ApplicationWindow{ public TestWindow(Shell parentShell) { super(parentShell); } @Override protected Control createContents(Composite parent) { Composite clientArea = new Composite(parent, SWT.NONE); clientArea.setLayout(new RowLayout()); Text text = new Text((Composite)clientArea, SWT.NONE); text.addModifyListener(new MyModifyListener()); return clientArea; } /** * @param args */ public static void main(String[] args) { TestWindow testWindow = new TestWindow(Display.getDefault().getActiveShell()); testWindow.setBlockOnOpen(true); testWindow.open(); } /** * 自定义校验类 * ModifyListener是文本被修改后触发和VerifyListener是将要修改文本时触发,可以通过设置VerifyEvent的doit属性决定是否修改文本 */ private class MyModifyListener implements ModifyListener { private UIJob modifyJob = null; @Override public void modifyText(ModifyEvent e) { if (null != modifyJob) { // 取消安排旧修改的校验Job modifyJob.cancel(); } modifyJob = new UIJob("Validate Job Title") //$NON-NLS-1$ { @Override protected IStatus runInUIThread(IProgressMonitor monitor) { if (monitor.isCanceled()) { return Status.OK_STATUS; } // TODO 这儿是校验逻辑 // 注意当逻辑中涉及到界面控件时,要先判断控件是否非空且未被销毁 return Status.OK_STATUS; } }; // 安排对最新修改的校验Job modifyJob.schedule(500); } }}
0 0
- 解决文本框实时校验慢的方法
- 该类为解决界面实时校验慢写的,但不限于此,可以执行后台逻辑
- 实时监控文本框内容的方法
- 解决weblogic启动慢和创建域慢的方法
- 解决ubuntu的ssh慢的方法
- 解决ubuntu的ssh慢的方法
- 解决SQL速度慢的方法
- 解决电脑运行速度慢的方法
- 解决QQ启动慢的好方法
- 解决ubuntu上网慢的方法
- 解决进入GlassFish3控制台慢的方法
- 解决ssh 变慢的方法
- 解决SSH登录慢的方法
- 解决进入GlassFish3控制台慢的方法
- 解决连接MySql速度慢的方法
- 解决pod速度慢的方法
- 解决Codeforces访问慢的本地方法
- 解决ubuntu上网慢的方法
- [HNOI2011]数矩形
- Unity3D开发(七):NGUI之UICamera控制触摸,鼠标事件
- Android xml资源文件中@、@*、@+、@?、@android:type的区别
- 风格和股东会低功耗,
- 修改VMware中网卡MAC地址
- 解决文本框实时校验慢的方法
- IO流总结
- rsync学习
- java 抽象类和接口的区别
- AfxMessageBox和MessageBox区别
- java基础篇
- 成本女婿没男性本能
- iOS开发之多媒体播放
- POJ1088 滑雪