2

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

我尝试了所有方法,例如设置焦点、激活 shell 等。

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

4

2 回答 2

3

当您激活一个Shell(通常通过该open()方法)时,SWT 会要求您给定平台上的窗口管理器使该 Shell 处于活动状态。但是,根据窗口管理器的不同,shell 可能不会成为桌面上最顶层的 shell。 这是一篇文章,其中包含一些有关打开 shell 的有趣信息(请参阅“11.4.6 打开 shell”部分)。

如果这是您的问题的原因,您可以使用ShellforceActive()类的方法来强制 shell 变为活动状态。但是,根据您的应用程序,您可能不想采用这种方法。以下是文章中的警告

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

当您必须引起用户的注意时(几乎永远不会),应该保留强制 shell 处于活动状态。毕竟,当另一个窗口窃取您的击键时,您是否喜欢它?

于 2009-07-27T00:11:46.763 回答
-1

仔细检查您的清单,看看您是否缺少任何东西。也就是说,如果您通过 Eclipse RCP 执行此操作

于 2009-06-06T21:54:15.600 回答