• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:JFrameのサイズを固定
#navi(../)
#tags()
#tags(JFrame, JDialog)
RIGHT:Posted by &author(aterai); at 2004-05-17
*JFrameのサイズを固定 [#z96189b1]
JFrameやJDialogのサイズを固定し、変更不可にします。
``JFrame``や``JDialog``のサイズを固定し、変更不可にします。

-&jnlp;
-&jar;
-&zip;

//#screenshot
#ref(http://lh5.ggpht.com/_9Z4BYR88imo/TQTM4ZlDyXI/AAAAAAAAAZ4/xXHwfOJP7p0/s800/FixedSizeFrame.png)

**サンプルコード [#qeee79ae]
#code(link){{
frame.setResizable(false);
}}

**解説 [#eff61b3d]
JFrame#setResizableメソッドで、フレームのサイズを変更不可にしています。タイトルバーの最大化ボタンなども選択できなくなります。
``JFrame#setResizable``メソッドで、フレームのサイズを変更不可にしています。タイトルバーの最大化ボタンなども選択できなくなります。

**コメント [#zeef23a7]
-アイコン化ボタンを無効化する方法はないようですね。JInternalFrameならクローズも最大化もアイコン化も全部いじれるのに。 -- [[さく]] &new{2004-08-12 (木) 15:17:30};
-なんだかなさそうですね。JDialog使うか、以下みたいにして誤魔化すか…、L&F自作すれば何とかなるのかな? -- [[aterai]] &new{2004-08-12 (木) 17:01:45};
- アイコン化ボタンを無効化する方法はないようですね。``JInternalFrame``ならクローズも最大化もアイコン化も全部いじれるのに。 -- [[さく]] &new{2004-08-12 (木) 15:17:30};
- なんだかなさそうですね。``JDialog``を使うか、以下みたいにして誤魔化すか…、``L&F``を自作すれば何とかなるのかな? -- [[aterai]] &new{2004-08-12 (木) 17:01:45};

#code{{
//XPだと「画面のプロパティ」「デザイン」「次のアニメーション効果を…」
//を無効にしないと、ちょっとかっこ悪い。
frame.addWindowListener(new WindowAdapter() {
  @Override public void windowIconified(WindowEvent e) {
    frame.setState(frame.NORMAL);
  }
});
}}
-%%[http://www.ibm.com/developerworks/library/j-iframe/ Go state-of-the-art with IFrame] も面白そうです。IBMだからSWT使ってるのかなと思ったらJFrame継承して作られています。%% -- [[aterai]] &new{2004-08-12 (木) 18:31:16};
- レイアウト変更したときにsetAlwaysOnTopが紛れ込んで、Java Web Startでサンプルが起動できなくなっていた不具合を修正。 -- [[aterai]] &new{2009-03-14 (土) 17:44:18};

- %%[http://www.ibm.com/developerworks/library/j-iframe/ Go state-of-the-art with IFrame] も面白そうです。IBMだから``SWT``使ってるのかなと思ったら``JFrame``を継承して作られています。%% -- [[aterai]] &new{2004-08-12 (木) 18:31:16};
- レイアウト変更したときに``setAlwaysOnTop``が紛れ込んで、``Java Web Start``でサンプルが起動できなくなっていた不具合を修正。 -- [[aterai]] &new{2009-03-14 (土) 17:44:18};

#comment