0
複数のモニタにオーバーレイを描画したいので、すべてのタスクバー、基本的にすべての要素をカバーする必要があります。私は4.5.2でSWTを使用しています。複数のモニタにオーバーレイ描画する
私はこれまで何をしていますか?
shell = new Shell(display.getActiveShell(), SWT.ON_TOP | SWT.DOUBLE_BUFFERED);
shell.setBounds(display.getBounds());
このソリューションは、私のDebian(ストレッチ)で完全に機能します。 ウィンドウに問題があります。ウィンドウズ10をテストしましたが、タスクバーが上にありますが、オーバーレイが描画されます。
N個のモニタでN個のシェルをアクティブにしてフルスクリーン表示していると思いますが、複数のシェルでフルスクリーンをアクティブにすることはできません。
誰にも分かりませんか?たぶん私は別のライブラリを使用しようとする必要がありますか?それはオーバーレイを描画しますが、win10上のタスクバーがそれをカバーしているため
私の問題は、ディスプレイの境界ではありません:/それはSWTや窓の制限があります場合、私は知らない、とにかくありがとう助けようとしています –
'Display d = Display.getDefault(); \t \t最終シェルs1 =新しいシェル(Display.getCurrent()、SWT.ON_TOP | SWT.DOUBLE_BUFFERED); \t \t s1.setBounds(d.getBounds()); \t \t s1.setLayout(new FillLayout()); \t \tボタンb =新しいボタン(s1、SWT.NONE); \t \t b.setText( "getBounds()"); \t \t b.addListener(SWT.Selection、E - > { \t \t \t s1.dispose(); \t \t})。 \t \t s1.open(); \t \t一方{ \t \t \t IF(d.readAndDispatch()!){ \t \t \t \t d.sleep()(s1.isDisposed()!)。 \t \t \t} \t \t} ' これは64ビットのJRE 1.8.0_77を実行しているWindows 7上で動作します。 画面全体をカバーし、タスクバーを付属します。 – pretzalcoatl
@pretzalcoatl OPのオリジナルソリューションは、Windows 7でも正常に動作します。 Windows 10がここで問題になっているようです。 – Baz