現在、swt では、プログラムを任意に前面に表示させたいことがあります (目覚まし時計のように)。
通常、次のように動作します (jruby):
@shell.setMinimized(false)
@shell.forceActive
シェルが最小化されている場合、これによりシェルが前面に表示されます。
いつでも新しいシェルを作成すると、(新しいシェル) が前面に表示されます。
これまでのところは問題ありませんが、シェルが最小化されていない場合、上記のコードはタスクバーのアプリのアイコンを点滅 (点滅) させるだけです。実際、初めて実行すると、前面に表示されます。その後、タスクバーで点滅するだけです。それが窓です。Linux では、タスクバーでのみ点滅しているように見えます (ubuntu のデフォルト)。
swt でアプリを前面に出すためのクロス プラットフォームの方法を知っている人はいますか?
forceActive setActive setMinimized(false) setFocus forceFocus および setVisible の呪文は、このことを達成できないようです。
E Text Editor が行うように、(少なくとも Windows では) それが可能であると確信しています。まあ、それはswtではありませんが、少なくともいくつかの他のアプリがそれを行うことが知られています.
おそらくこれはswt bug 192036だと思いますか?
どうもありがとう。
関連している: