SWT设计的界面,有非UI线程不可以访问UI线程一说.如果要访问必须使用类似display.asyncExec(new Runnable()....的代码.
现在我的程序有几个类,其中一个类是UI界面类,另外几个不是,由于要在非UI界面类中使用UI界面类的方法,如何做呢?
是不是每一处都要使用类似display.asyncExec(new Runnable()....的代码,如果不这样做,是不是只能用一个类来专门封装UI界面类的方法,从而间接访问UI界面类?
请大家指教.
现在我的程序有几个类,其中一个类是UI界面类,另外几个不是,由于要在非UI界面类中使用UI界面类的方法,如何做呢?
是不是每一处都要使用类似display.asyncExec(new Runnable()....的代码,如果不这样做,是不是只能用一个类来专门封装UI界面类的方法,从而间接访问UI界面类?
请大家指教.
解决方案 »
- 解决这个问题你就XX了(java)
- poi 解析excel总报这个错!!不知怎么改?
- jdbc 如何设定 connection timeout?
- 那位老大告诉我啊,为什么这个对象数组不能排序啊?
- 求编程的兄弟吗帮帮我
- 文件上传
- 很菜的问题(Swing)
- 小弟有大量可用国人email(广告专用,非法目的物扰)带有用户真实性名,年龄,所在地,专业,薪资水平,欲出售价格面议如有需要可以联系D
- 求visual j++及注册码!
- 请帮我看看这段程序,为什么不能运行?
- 学习Java要不要特意的去学习算法?搞Java一段时间后,感觉对算法越来越要求高了?
- mouseMove事件经常出问题,大家有遇到过吗??求救。
就是自己的事情自己做不干扰别人
你和别人交流就要提供方法在UI界面类写方法访问UI界面类
然后在每个非UI界面类中要使用
UI界面类中传递一个应用就可以了
比如你的UI界面类是GUI
那么在每个要访问UI界面类里面都加上
GUI gui;
就可以了
肯定是要在非UI界面类中使用UI界面类对象的引用才能访问UI界面类的方法.
问题在于在SWT中非UI类不可以访问UI类的方法,例如,我用UI界面响应用户的一个edit输入,把它存在一个String中,名为m_sMyName;
UI类提供一个方法叫getMyName(),在非UI类中就不能直接调用getMyName()方法,而要有display.asyncExec(new Runnable()....类似的代码,比较麻烦,
如果用一个类封装UI界面类,由这个类再提供getMyName()方法,且把display.asyncExec(new Runnable()....类似的代码写入到这个类的getMyName方法,那么这个方法就可以方便地被其它类使用,我是想是不是有别的方法避免这个麻烦的封装