区别Display.getDefault()与Display.getCurrent()

3人阅读 评论(0) 收藏 举报
分类:
Display.getDefault(): 该方法会返回用户图形界面线程中的Display实例,不管当前线程是否是用户图形界面线程.如果这个实例不存在,默认创建一个用户图形界面线程中的Display实例. 

Java代码  收藏代码
  1. /** 
  2.  * Returns the default display. One is created (making the thread that 
  3.  * invokes this method its user-interface thread) if it did not already 
  4.  * exist. 
  5.  *  
  6.  * @return the default display 
  7.  */  
  8. public static Display getDefault()  
  9. {  
  10.     synchronized (Device.class)  
  11.     {  
  12.         if (Default == null)  
  13.             Default = new Display();  
  14.         return Default;  
  15.     }  
  16. }  



Display.getCurrent(): 返回当前线程中的Display实例.如果这是一个图形界面线程,实例非空;如果当前线程不是一个图形界面线程,则实例为空. 

Java代码  收藏代码
  1. /** 
  2.  * Returns the display which the currently running thread is the 
  3.  * user-interface thread for, or null if the currently running thread is not 
  4.  * a user-interface thread for any display. 
  5.  *  
  6.  * @return the current display 
  7.  */  
  8. public static Display getCurrent()  
  9. {  
  10.     return findDisplay(Thread.currentThread());  
  11. }  
查看评论

关于 Display.getDefault()和Display.getCurrent();

getDefault 在多线程中不能使用,因为线程同步的关系。会出现invalid thread access getCurrent 则是再当前线程中查找Display对象,所已在调用之前必须保证当...
  • flyinf_guo
  • flyinf_guo
  • 2011-08-16 09:47:08
  • 1282

display.syncExec方法例子

一个SWT程序至少需要一个Display对象,创建Display的线程称为UI线程,一个线程中不能有两个Display。 第一次调用Display.getDefault()会创建一个Display,以...
  • bingxue_xuebing
  • bingxue_xuebing
  • 2015-10-19 22:26:02
  • 1759

在rcp中获得父Shell的几种方法

经常用到的一些在RCP中取得shell的方法
  • leopardaa521
  • leopardaa521
  • 2010-07-30 11:43:00
  • 1781

SWT编程基础-Display和Shell

Display和Shell
  • jianggujin
  • jianggujin
  • 2016-04-30 14:53:10
  • 1820

[例子]Display syncExec() asyncExec() 方法的使用

Display syncExec() asyncExec() 方法的使用。org.eclipse.swt.SWTException: Invalid thread access
  • lihe2008125
  • lihe2008125
  • 2010-09-26 18:13:00
  • 1771

调用新建向导wizard

1.    org.eclipse.jface.wizard.WizardDialog.WizardDialog(ShellparentShell, IWizard newWizard) dial...
  • andywangcn
  • andywangcn
  • 2012-12-27 12:27:18
  • 660

通用TitleAreaDialog的实现

这个TitleAreaDialog可以通过传入的Composite,动态创建对话框区域(DialogArea)内容,因此具有很强的灵活性,不必每处使用对话框时候都重新继承TitleAreaDialog...
  • wu_07
  • wu_07
  • 2010-07-30 00:21:00
  • 2518

getDefaultDisplay().getWidth过期。

在SdkVersion 23中 getDefaultDisplay().getWidth过期。 替代方法用: windowManager=getWindowManager();DisplayMet...
  • ZEUSSXB
  • ZEUSSXB
  • 2015-11-26 13:04:27
  • 2934

rcp(插件开发)异常:Exception in thread "Thread-7" org.eclipse.swt.SWTException: Invalid thread access

原因: 产生的原因是RCP框架下,UI组件只能由UI线程来更新,禁止后台线程访问.,如 Timer 所触发的事件的处理代码; 用Job创建的分线程等. 由UI组件事情说触发的都是UI线程. 方法:只...
  • soszou
  • soszou
  • 2012-10-09 16:55:08
  • 2545

j2me手机程序eclipse开发基---snake

  • 2009年06月09日 09:23
  • 22KB
  • 下载
    个人资料
    持之以恒
    等级:
    访问量: 5万+
    积分: 1656
    排名: 2万+
    最新评论