- PR -

Swingアプリを最前面に表示

投稿者投稿内容
Shane
大ベテラン
会議室デビュー日: 2003/06/06
投稿数: 132
お住まい・勤務地: Vancouver, BC
投稿日時: 2003-07-29 11:19
引用:

みかんさんの書き込み (2003-07-29 10:51) より:
お話が脱線してしまっているような気がするのですが、ShinさんはSetWindowPos()でHWND_TOPMOSTにしたような状態を望まれているのですよね?
体最前面、ですかね。



それはできそうにないので、一定のタイミングで最前面に来る
という実装が可能かどうかに焦点を絞っていました。
多分できないだろうという流れの中で、
「そもそもそんなUIって?」という方向に来ていました。

で、結論を言うと、Javaでは一時的であれ他のアプリのウィンドウを
通り越して最前面にもってくるっていうのは「無理」なんでしょうかね?
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2003-07-29 13:31
こんにちわ

引用:

そもそもどんなOSでも、アプリケーションエラーがでると最前面にエラーダイアログが
でるし、(すべてかどうかはわかりませんけど)プリンタなんかでも紙切れやトナー切れ
なんかのエラーダイアログも最前面に出るし、「かずくん」さんの言われているUI上良くないという理由が良くわからない。



ユーザー主導の観点から、このようなUIはユーザーに不安や刺激を与えるため
好ましくないというのが私の考えです。

Windowsのガイドラインとして、バックグラウンドに問題が発生したとき、
瞬時にフォアグラウンドにアラートを表示すべきであるとなっているのであれば、
従うべきでしょうね。
Shane
大ベテラン
会議室デビュー日: 2003/06/06
投稿数: 132
お住まい・勤務地: Vancouver, BC
投稿日時: 2003-07-29 14:50
引用:

かずくんさんの書き込み (2003-07-29 13:31) より:

ユーザー主導の観点から、このようなUIはユーザーに不安や刺激を与えるため
好ましくないというのが私の考えです。



ユーザに不安や刺激を与えるという考えがどこから来ているかわかりませんが、
そもそもの趣旨はユーザに警告を与えるためのもので、
それに一番効果的な方法は一番手前に表示させる事だと思います。
それが問題であるとはぜんぜん思いませんが皆さんはどうでしょうか?
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-07-29 15:04
引用:

Shinさんの書き込み (2003-07-29 14:50) より:
ユーザに不安や刺激を与えるという考えがどこから来ているかわかりませんが、
そもそもの趣旨はユーザに警告を与えるためのもので、
それに一番効果的な方法は一番手前に表示させる事だと思います。
それが問題であるとはぜんぜん思いませんが皆さんはどうでしょうか?


 自然だと思いますね。
まったくもって問題ありません。
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2003-07-29 15:35
こんにちは。
「ユーザー主導の観点」⇒「このようなUIはユーザーに不安や刺激を与える」⇒
「好ましくない」という論法がやはりよくわからない。

たしかに突然「あなたは不正な処理をしました。10秒以内に正常な終了を行わないと、
データが破壊されます。もうカウントは始まっています」なんてのがでると、ユーザは
ビビルでしょうが(これは冗談です)、緊急を要するメッセージダイアログを出すのに
ユーザに刺激を与えるから好ましくないというのは、やはり理解できません。

緊急を要するメッセージダイアログは、即座にわかりやすくユーザの目に付くように
出すほうがユーザに親切なように思います。

緊急性を要しているのに、(物にもよるが)ちまちま点滅してて気づかずに、あとの祭り
になってたらそっちのほうがユーザにユーザに不安や刺激を与えそうな気がしますが。

>Windowsのガイドラインとして、バックグラウンドに問題が発生したとき、
>瞬時にフォアグラウンドにアラートを表示すべきであるとなっているのであれば、
>従うべきでしょうね。
WindowsのガイドラインがUIのすべてではないでしょう。確かにガイドラインに沿って
万人受けするUIを作ることは大切と思いますが、ガイドラインはひとつの手段であって
大切なのは今から作ろうとしているアプリはどういったユーザを対象にしていて、それに
あったUIをどう作るかではないですか?そのひとつがガイドラインでしょう。
従うべきというのはおかしなはなしです。

ますます主題からはなしがずれて申し訳ないです。
お犬様
ベテラン
会議室デビュー日: 2003/01/26
投稿数: 67
投稿日時: 2003-07-29 15:59
引用:
Shinさんの書き込み (2003-07-29 14:50) より:

そもそもの趣旨はユーザに警告を与えるためのもので、それに一番効果的な方法は一番手前に表示させる事だと思います。それが問題であるとはぜんぜん思いませんが皆さんはどうでしょうか?

Java アプリケーションでは他のアプリケーションの前面に出てまで警告が必要なシチュエーションは比較的少ないと思われます。逆に、それが出来ると迷惑なアプレットが作りやすくなったりする可能性なども考えなければならないような気もしますが…
selfish
会議室デビュー日: 2003/01/09
投稿数: 14
投稿日時: 2003-07-29 17:04
こんにちは。

実行環境がWindowsなら最前面表示は可能だったと思います。
レジストリの値(どこかは忘れましたが)を変更することによって
実現可能だったと記憶しております。
思い出したらまた書き込みします。
selfish
会議室デビュー日: 2003/01/09
投稿数: 14
投稿日時: 2003-07-29 17:58
引用:

selfishさんの書き込み (2003-07-29 17:04) より:
こんにちは。

実行環境がWindowsなら最前面表示は可能だったと思います。
レジストリの値(どこかは忘れましたが)を変更することによって
実現可能だったと記憶しております。
思い出したらまた書き込みします。



思い出しました。

レジストリエディタを開き
HKEY_CURRENT_USER\Control Panel\Desktop
ForegroundLockTimeoutの値を10進数で0に変更してみてください。
ちなみにレジストリを変更するので既知とは思いますが他のアプリに
影響を与えることもあります。

スキルアップ/キャリアアップ(JOB@IT)