我想在多个显示器上绘制叠加层,它应该覆盖每个任务栏,基本上每个元素。我在版本4.5.2中使用SWT。
到目前为止我做了什么?
shell = new Shell(display.getActiveShell(), SWT.ON_TOP | SWT.DOUBLE_BUFFERED);
shell.setBounds(display.getBounds());
此解决方案在我的Debian(拉伸)上完美运行。 窗户出现问题,我测试了窗户10,它绘制了叠加层,但任务栏位于顶部。
我认为在N台显示器上激活全屏的N个分离的外壳,但我不认为可以在多个外壳上激活全屏。
有人有任何想法吗?也许我应该尝试使用其他库?
答案 0 :(得分:1)
总spitball,但
Rectangle rect = new Rectangle(0, 0, 0, 0);
Stream.of(shell.getDisplay().getMonitors()).map(Monitor::getBounds).forEach(p->rect.add(p));
shell.setBounds(rect);