在多个监视器上绘制叠加

时间:2016-04-18 15:43:49

标签: java swt desktop-application

我想在多个显示器上绘制叠加层,它应该覆盖每个任务栏,基本上每个元素。我在版本4.5.2中使用SWT。

到目前为止我做了什么?

shell = new Shell(display.getActiveShell(), SWT.ON_TOP | SWT.DOUBLE_BUFFERED);
shell.setBounds(display.getBounds());

此解决方案在我的Debian(拉伸)上完美运行。 窗户出现问题,我测试了窗户10,它绘制了叠加层,但任务栏位于顶部。

我认为在N台显示器上激活全屏的N个分离的外壳,但我不认为可以在多个外壳上激活全屏。

有人有任何想法吗?也许我应该尝试使用其他库?

1 个答案:

答案 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);