質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

1回答

2900閲覧

AWT 画面リサイズイベントの開始と終了を検知したい

plue

総合スコア71

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2016/03/07 06:58

Frameに対する画面リサイズイベントの開始を終了を検知し、
それぞれに対し処理を入れたいと思っているのですが検知の方法が分かりません。

以下のようにFrameのリサイズイベントは拾えるのですが。。。
方法をご存知の方がいらっしゃいましたら、ご教示お願いいたします。

java

1 Frame f = new Frame(); 2 f.addComponentListener(new ComponentListener() { 3 4 @Override 5 public void componentShown(ComponentEvent e) { 6 } 7 8 @Override 9 public void componentResized(ComponentEvent e) { 10 // *********************** 11 // リサイズ中の処理・・・ 12 // *********************** 13 } 14 15 @Override 16 public void componentMoved(ComponentEvent e) { 17 } 18 19 @Override 20 public void componentHidden(ComponentEvent e) { 21 } 22 });

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

質問者様で試されたところmouseReleased()ではキャッチできないこのことなので、
別のイベント、例えばmouseEntered()mouseExited()の両方でキャッチできるかを試してはいかがでしょうか?


MouseListenerを併用してみてはいかがでしょうか?

componentResized()時にフラグ変数をONにし、
MouseListenerの適切なイベント時にフラグがONかどうかで
Resized後かどうかを確認してみてはいかがでしょうか?
実際にどのイベントが適切なのかは試していないのでわかりませんが…

以上、
ご参考になりますでしょうか?

投稿2016/03/07 10:20

編集2016/03/07 10:56
Aeona

総合スコア396

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

plue

2016/03/07 10:37

コメントありがとうございます。 さっそく試してみたのですが、 Frameに対し、MouseListenerのmouseReleasedイベントを実装し、 そこでリサイズ終了判定をしようと思ったのですが、 画面の枠(マウスでリサイズできる個所)に対するmouseReleasedは動かないようです。。。 以下のようにしました。 this.addComponentListener(new ComponentListener() { @Override public void componentResized(ComponentEvent e) { // リサイズ中フラグをtrue if (!resize_flg) { System.out.println("リサイズ開始!"); resize_flg = true; } } }); this.addMouseListener(new MouseListener(){ @Override public void mouseReleased(MouseEvent e) { if (resize_flg) { System.out.println("リサイズ終了!"); resize_flg = false; } } });
Aeona

2016/03/07 10:55

回答に追記しました。 いかがでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問