TITLE:JFrameの縦横比を一定にする
#navi(../)
*JFrameの縦横比を一定にする [#kdb0783d]
>編集者:[[Terai Atsuhiro>terai]]~
作成日:2006-11-06~
更新日:&lastmod;

#contents

**概要 [#g29433d2]
JFrameの幅と高さの比率が一定になるように制限します。

#screenshot

**サンプルコード [#ff7d99b8]
#code{{
 final int mw = 320;
 final int mh = 200;
 frame.addComponentListener(new ComponentAdapter() {
   public void componentResized(ComponentEvent e) {
     int fw = frame.getSize().width;
     int fh = mh*fw/mw;
     frame.setSize((mw>fw)?mw:fw, (mh>fh)?mh:fh);
   }
 });
}}
-&jnlp;
-&jar;
-&zip;

**解説 [#x3c35daf]
上記のサンプルでは、JFrameのサイズを変更した後、その幅から縦横比が同じになるような高さを計算して、JFrame#setSize(int,int)でサイズを設定し直しています。

**参考リンク [#qf286589]
-[[JFrameの最小サイズ>Swing/MinimumFrame]]
-[[DynamicLayoutでレイアウトの動的評価>Swing/DynamicLayout]]

**コメント [#ndb3de0e]
#comment