- PR -

Swingアプリを最前面に表示

投稿者投稿内容
こじたぬ
会議室デビュー日: 2003/08/22
投稿数: 2
投稿日時: 2003-08-22 14:27
はじめまして、おじゃまします。
私も丁度JAVAアプリでUI常時最前面表示を実装しようと思っていました。
CのAPIにはSetWindowPos()というのようなベンリな関数が用意されています。

JAVA側からJNIを使ってWINDOWS CのAPIを使用できるのは周知のことですが、
この関数の第一引数にウィンドウハンドルを渡す必要あり、悩んでいます。

JAVAでいろいろ検索かけてもウィンドウハンドルというものがUIでどう扱っているのか
記述されているところはなく、ウィンドウ(またはフレーム)クラスのインスタンスを
渡すして行なえるのか疑問なところです。

このあたり何か(というよりもウィンドウハンドル取得について)ご存知の方がいらしたら
ご教授ください。

私が「常時最前面表示」を使用したい訳ですが。
UIが2つで構成されるが、メインUIはJAVA,でサブUIはEXCECメソッドで起動した
JAVA以外のアプリである。
メインUIのメニューの変更に合わせてサブUIも変化させます。
このときサブUIが変更時にアクティブになるので最全面になってしまいます。
基本的にはユーザーが指定しない限りサブUIの半身はメインに隠れるようにしたいのです。
このときにtoFront()を用いても最終的には最前面に来ますが、
サブUIが一瞬前に来るときの「チラツキ」がかなり見苦しくなってしまいます。
そこで、サブUIを更新する直前にメインUIを「常時最前面」にして、
サブUIを更新、その後、メインUIの「常時最前面」を解除させようと考えています。

文章が長くなってしまい、申し訳ありません。
こじたぬ
会議室デビュー日: 2003/08/22
投稿数: 2
投稿日時: 2003-08-22 16:49
こじたぬです。

すいません、過去ログを参照したら取得方法が載っていました。
ただ、常時最前面表示を行ないたいというケーススタディとしてみてください。

失礼しました。

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