Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我的SWT外壳总是出现在后台?_Java_Eclipse_Swt - Fatal编程技术网

Java 为什么我的SWT外壳总是出现在后台?

Java 为什么我的SWT外壳总是出现在后台?,java,eclipse,swt,Java,Eclipse,Swt,当我从Eclipse启动SWT应用程序时,Shell总是在后台启动,IDE在前面 我尝试了一切,比如设置焦点,激活外壳等等 是否有其他人经历过同样的行为,甚至可能解决了它 仔细检查你的舱单,看看你是否遗漏了什么。也就是说,如果在激活时通过EclipseRCP执行此操作(通常通过open()方法),SWT会要求给定平台上的窗口管理器激活shell。但是,根据窗口管理器的不同,shell可能不会成为桌面上最顶层的shell。有关打开外壳的一些有趣信息(请参阅“11.4.6打开外壳”一节) 如果这是问

当我从Eclipse启动SWT应用程序时,Shell总是在后台启动,IDE在前面

我尝试了一切,比如设置焦点,激活外壳等等


是否有其他人经历过同样的行为,甚至可能解决了它

仔细检查你的舱单,看看你是否遗漏了什么。也就是说,如果在激活时通过EclipseRCP执行此操作(通常通过
open()
方法),SWT会要求给定平台上的窗口管理器激活shell。但是,根据窗口管理器的不同,shell可能不会成为桌面上最顶层的shell。有关打开外壳的一些有趣信息(请参阅“11.4.6打开外壳”一节)

如果这是问题的原因,您可以使用类的
forceActive()
方法强制外壳激活。但是,根据您的应用程序,您可能不希望采用这种方法。以下是文章中的警告:

大多数程序都不需要使用 forceActive()

强制shell处于活动状态应该是 专为您 必须引起用户的注意 (这几乎是不可能的)。毕竟,你要做什么 你喜欢另一扇窗户被偷走吗 你的击键

“检查你的舱单”是什么意思?My appname.manifest包含以下内容:IKOffice产品