• ベストアンサー

立て続けで申し訳在りません(JOptionPane.showMessageDialog)

連続投稿申し訳在りません。 JOptionPaneクラスで表示出来る ダイアログなのですが、これは 手動でリサイズが出来てしまうのですね。 おそらく、Compponentクラスの setSizeで初期サイズを取得して、 resizeかsetBoundsでリサイズ時の 処理を行っていると思うのですが、 これはそれぞれのメソッドで値を入れているので 一瞬はサイズが変更されたのが見えてしまいそうです。 何処か簡単にリサイズ制御出来る メソッドがありましたら教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • ct27
  • ベストアンサー率62% (48/77)
回答No.3

もうダイアログサイズを固定する方法は見つかりましたか? 一応このメソッドでサイズは固定出来そうだというものがありましたのでご紹介だけしておきます。 JFrame#setResizable ←フレームの場合 JDialog#setResizable ←ダイアログの場合 もしかするとJOptionPaneか、JDialogを継承して新たに 作る必要があるかもしれないとちょっと思いました。 もっとお詳しい方ならわかるかもしれませんね。 新たなことがわかりましたらまたここでお知らせできるかもしれません。 参考URLはオーバーロードとオーバーライドについての 簡単な解説が記載されています。

参考URL:
http://www.gimlay.org/~andoh/hatena/java/S011.html#S011-08
Naocky
質問者

お礼

何とかオーバーライドについて分かりました。 肝心のメソッドを見つけるのに苦労しましたが、 何とか出来るようになりました。 有難う御座います。

その他の回答 (2)

  • hyde-la
  • ベストアンサー率28% (42/146)
回答No.2

Javaはあまり詳しくはないですが。 (まして件のパッケージって何か知りません) オーバーライドは「メソッドの上書き」です。 上書きされたメソッドは、消えるわけではありませんが、 明示的に呼ばれない限り呼び出されません。 (優先順位が変わる、とでも言えばいいのかなぁ) それと、オーバーライドするのは軽少するときと決まってます。 そのクラスを継承して、そこでオーバーライドしてやれば いいんじゃないかなぁ、と思いますが。

Naocky
質問者

お礼

返事が遅れて申し訳ありません。 オーバーライドを試してみて、 何とか出来るようになりました。 有難う御座います。

  • ct27
  • ベストアンサー率62% (48/77)
回答No.1

上記質問のみでは具体的に何を行いたいのかが見えませんので 補足をお願いいたします。 1.現在やりたいこと。 2.現在の問題点。 3.これまで行ってきた回避策。  (こうやったがだめだったとかここまでできたなど) 以上、宜しくお願いいたします。

Naocky
質問者

補足

では、一つずつ書かせて頂きます。 現在やりたい事とは JOpetionクラスのDialog表示メソッドが (showOptionDialog、showConfirmDialogなど) リサイズ出来ないようにしたいのです。 ダイアログの表示は出来るのですが、 マウスの操作でダイアログの大きさを 変更出来てしまいます。これを制御したいのです。 (Frameオブジェクトで言う resizable = falseと同様の事です) 回避策というか、今の時点では対策出来ていないのですが 調べてみると、どうやら親クラスであるComponentの setSize、或いはsetBoundでサイズを設定している らしいと言うことは分かったと言う所までです。 どちらかのメソッドをオーバーライドすれば 出来るかもしれないと思ったのですが まだオーバーライドの概念をいまいち理解出来ていないので ここで足踏みしている状態です。 何か分かりましたら教えてくださるとありがたいです。 よろしくお願いします

関連するQ&A