- - PR -
Swingアプリを最前面に表示
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-07-28 18:30
こんにちわ
ちなみに、Window.toFront()説明として、次のように書かれているので、 所望の挙動をtoFront()から得ることは不可能でしょう
また、そもそも、プログラムが突然勝手にウインドウを最前面に持ってくることは、 human interface上よくないでしょう。 #そんなプログラム使ってて、びっくりします | ||||||||
|
投稿日時: 2003-07-28 20:37
こんにちは。
show()を使えば前面に来ます。 http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/awt/Window.html#show() | ||||||||
|
投稿日時: 2003-07-29 09:21
なぜhuman interface上よくないと思いますか? alerm したいときなどによく使いそうなものだと思いますが。 Some platforms may not permit this VM to place its Windows above windows of native applications, or Windows of other VMs. の一文が気になる。。。 | ||||||||
|
投稿日時: 2003-07-29 09:26
これは動作的には toFront() と同じようです。 ソースを見ていませんが、toFront() を呼んでいるのではないでしょうか。 | ||||||||
|
投稿日時: 2003-07-29 09:51
Alertをいきなり前面に出してくるアプリケーションを私は見たことがありません。 同一アプリ内で表示するのであれば問題ないと思いますが、他のアプリを使用していて 突然、Alertが出てくるのはまずいのではないかと思います。 たいていのOSには、backgroundで動いているアプリに何か起きた場合に、 通知する機構(Windowsならタスクバーに表示されたアイコン?が点滅する) を使用すると思います。 わたしがメインで使用しているdebuggerであるJSwatの場合、break pointにhitすると、 タスクバーのアイコン?がハイライト化されます。 したがって、このような、通知機構が存在する、または別の方法で実装することができるのではないかと思います。(JSwatのsourceを読んでいないので、詳しいことは分かりません) | ||||||||
|
投稿日時: 2003-07-29 10:08
IP Messenger ではもろに前面に出てきます。 他にもよくあると思います。(今思い浮かびませんが)
突然出るのはなぜまずいのでしょう? alarm というのはそもそも何か急を知らせるような意味なので 使うとしたら当然そういう動きが有用なアプリでという事になるでしょうが。 | ||||||||
|
投稿日時: 2003-07-29 10:51
こんにちは、みかんです。
お話が脱線してしまっているような気がするのですが、ShinさんはSetWindowPos()でHWND_TOPMOSTにしたような状態を望まれているのですよね? Java(Swing)アプリで可能なのかどうかは、私はわかりませんが、TOPMOSTなアプリケーションを作りたいと言う要望に対して、その必要性を問うのはどうかと思います。 この場は、できるかできないか、でいいのではないでしょうか? *おまけ HWND_TOPMOSTはSetWindowPos()をコールした時点での最前面、になるんでしょうかね。TOPMOSTなウインドウ同士でも重なり合いますが、それ以外のウインドウよりは上にいますから。 ということで、「常に最前面」「Always on Top」は正しくないなぁ。 #タスクマネージャはアクティブウインドウになったときにSetWindowPos()し直してるみたいなので、大体最前面、ですかね。 | ||||||||
|
投稿日時: 2003-07-29 11:05
こんにちは。
>Alertをいきなり前面に出してくるアプリケーションを私は見たことがありません。 緊急性を要するダイアログを、他のアプリケーションの上に表示させるのが、 問題とは思えませんが? OSによっても、タスクバー(タスクトレイ)があるとは限らないし、確かにネットワーク 管理ツールで、異常時にタスクトレイ上のアイコンやタイトルバーが点滅するツールを実際 に使っていますが、はっきり言って気づかない事も多いです。物にもよるでしょうが、 ちまちま、点滅するより、ダイアログで(場合によってはボーンとビープ音付で)アラート を表示するほうがUIとしては親切だと思うし、仕事上実際にユーザからもそういう風に 要望されることも多いです。 そもそもどんなOSでも、アプリケーションエラーがでると最前面にエラーダイアログが でるし、(すべてかどうかはわかりませんけど)プリンタなんかでも紙切れやトナー切れ なんかのエラーダイアログも最前面に出るし、「かずくん」さんの言われているUI上良く ないという理由が良くわからない。 [ メッセージ編集済み 編集者: maru 編集日時 2003-07-29 11:15 ] | ||||||||
