[英]How to disable a shell without disabling minimize, maximize and close button in SWT
我正在尝试使用以下方式禁用SWT中的外壳
sell.setEnabled(false);
这工作正常,我想阻止用户执行操作,但是与此同时,我希望允许他最小化外壳。 问题在于setEnabled(false)
将禁用整个外壳。
你能对此有个想法吗?
我猜您想禁用外壳程序的内容。 那么,为什么不只是在容器中添加一个容器(复合)作为主要内容并根据需要禁用/启用它呢? 这不会影响外壳,因此,最小化按钮将继续起作用。
final Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
final Composite composite = new Composite(shell, SWT.NONE);
composite.setEnabled(false);
而不是禁用命令行管理程序本身,而是禁用它包含的控件。 像这样:
Control[] children = shell.getChildren();
for( Control control : children ) {
control.setEnabled( false );
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.