- - PR -
Swingアプリを最前面に表示
1|2|3|4|5
次のページへ»
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-07-25 14:30
Swingアプリを(JFrame/JDialog)を、
他のWindowsアプリに隠れないように 画面の最前面に表示させる方法はありますか? toFront() を使ってみましたがダメでした。 また、画面の右上端のポジションを取得して、 アプリが右上に起動するようにする事は可能でしょうか? 環境はWindows2000/JDK1.4です。 | ||||||||
|
投稿日時: 2003-07-27 02:29
こんばんわ
画面の最前面に表示するという意味がわかりません。 どの時点で、最前面に持っていきたいのでしょうか。 起動時であれば、常に最前面に来ますよ。 そうではなく、他のウインドウを重ねても、 そのウインドウより前面に表示させたいのであれば、 無理なんじゃないのでしょうか。 単に私が知らないだけかもしれません。
インスタンスを起こしてから、表示するまでに間にsetLocation()メソッドで、 移動させれば、好きな位置に移動することが出来ます。 public class Test { public static void main(String[] inArgs) { javax.swing.JFrame f = new javax.swing.JFrame(); f.setLocation(100, 100); f.show(); } } それとも聞きたいのは、デスクトップ画面の領域を取得する方法? 取得方法は、APIリファレンスのjava.awt.Toolkitのところを探せば 見つかるでしょう。 | ||||||||
|
投稿日時: 2003-07-28 11:05
[quote]
画面の最前面に表示するという意味がわかりません。 どの時点で、最前面に持っていきたいのでしょうか。 起動時であれば、常に最前面に来ますよ。 [quote] 当然ですが起動時ではありません。 具体的には2つのうちどちらかができればいいなと思っています。 1.常に最前面に表示されている (他のウィンドウ(Java以外含む)がアクティブになっても常に最前面) 2.一定時間立つと自分自身を更新する仕組みになっているので、 その際に自分を最前列に表示するようにする。 (ここで toFront() を使ってみたのですがダメでした)
見つかりました。ありがとうございます。 GUIにはちょっと疎いもので、超基本的な事ですいませんでした。 | ||||||||
|
投稿日時: 2003-07-28 11:52
こんにちわ。お世話になっております。
フローティング・ウィンドウのことをおっしゃっていると思いますが、 わたしも以前同じようなことを試みました。 しかし、どうやら実現は難しいようなのであきらめました 以下ご参考までに。 http://java-house.jp/ml/archive/j-h-b/007656.html http://java-house.jp/ml/archive/j-h-b/021220.html [ メッセージ編集済み 編集者: ゆう 編集日時 2003-07-28 14:34 ] | ||||||||
|
投稿日時: 2003-07-28 15:41
2.の方法はどうでしょうか。 toFront() では Java 以外のウィンドウの前に表示する事はできないようですが、 他には手段はないのでしょうか? APIを見る限りなさそうなので、 あったとしても Pure Java ではなくなってしまいそうですが。。。 | ||||||||
|
投稿日時: 2003-07-28 16:03
unibon です。こんにちわ。
チャチャですが、そのようなアプリケーションが同時に2つ動いていて、 それら2つのウィンドウが重なり合っていた場合はどうなるべきか、 気になって夜も眠れません。 ちなみに、Windows の「タスクマネージャ」で「常に手前に表示」を オンにしたような感じで、システム全体の中で最前面になることを 要求されているのですよね。 #でも、タスクマネージャが2個重なっても、 #最前面の取り合いにはならなかった記憶があります(笑)。 #タスクマネージャを2個出すのがそもそも難しいですが。 ちなみに、ひとつのアプリケーションインスタンスの中だけで最前面にするのは、 たしか Java でできるはずです。 どうやるのかはちょっと思い出せませんが、 たとえば(Swing を使って作られている) JBuilder のデバッガのウィンドウなどは そういう動きです。 | ||||||||
|
投稿日時: 2003-07-28 17:00
それを実現するのが Window クラスの toFront() だと思うのですが、 やはり他のアプリのウィンドウの前には出せないのだろうか というのが私の疑問です。 「常に最前面」の方はあきらめました。 | ||||||||
|
投稿日時: 2003-07-28 17:12
こんにちわ
おそらく、常にfrontに置く(ように見せる)UIを用意しているのでしょう。 デバッガのウィンドウ自体、Internal Frameでしょうし。 | ||||||||
1|2|3|4|5
次のページへ»
