【发布时间】:2012-04-10 21:17:57
【问题描述】:
我对 SWT 子 shell 在不同操作系统上的行为方式有疑问。在 Windows 上,当我单击子 shell 的最小化按钮时,只会最小化该 shell,即调整大小/停靠在屏幕的左下角(这是首选行为)。在 Linux 中,子 shell 最小化到任务栏(这不是一个真正的问题)。但是,在 Mac OS X 10.5 中,最小化子 shell 会导致父窗口也最小化(这是一个问题)。
通过将 parent 作为构造函数参数传递简单地创建子 shell,例如:
Shell editor = new Shell(Display.getCurrent().getActiveShell());
任何帮助将不胜感激。
【问题讨论】:
-
我不确定 SWT 的工作方式与不同窗口系统/窗口管理器的工作方式是否存在问题。如果你开始改变我的操作系统最小化窗口的方式,我会对你的应用程序感到非常沮丧。
-
@EdwardThomson 我知道这一点,但不幸的是,这是我客户的要求之一,所以我无能为力。
-
嗯。你是如何创造你的孩子壳的?它们是非模态的吗?你可以让它们成为顶级 shell 而不是孩子吗?
-
@EdwardThomson 他们是非模态的。不幸的是,他们需要有一个共同的父母有很多原因(我不想讨论)。