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

Display.getDefault(): 该方法会返回用户图形界面线程中的Display实例,不管当前线程是否是用户图形界面线程,

如果这个实例不存在,默认创建一个用户图形界面线程中的Display实例。

 

Java代码 

/**  

 * Returns the default display. One is created (making the thread that  

 * invokes this method its user-interface thread) if it did not already  

 * exist.  

 *   

 * @return the default display  

 */  

public static Display getDefault()   

{   

    synchronized (Device.class)   

    {   

        if (Default == null)   

            Default = new Display();   

        return Default;   

    }   

}  

 

 

 

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

 

可以依据Display.getCurrent()返回的Display实例是否为null来判断当前线程是否为界面线程,如果不为空,则为界面线程,否则为后台线程。

 

 

Java代码 

/**  

 * Returns the display which the currently running thread is the  

 * user-interface thread for, or null if the currently running thread is not  

 * a user-interface thread for any display.  

 *   

 * @return the current display  

 */  

public static Display getCurrent()   

{   

    return findDisplay(Thread.currentThread());   

}  

在后面的文章会特别说明SWT中的界面线程和后台线程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值