Posted by terai at 2004-05-17

JFrameのサイズを固定

JFrameやJDialogのサイズを固定し、変更不可にします。

Swing/FixedSizeFrame screenshot

サンプルコード

frame.setResizable(false);

解説

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

コメント

  • アイコン化ボタンを無効化する方法はないようですね。JInternalFrameならクローズも最大化もアイコン化も全部いじれるのに。 -- さく? 2004-08-12 (木) 15:17:30
  • なんだかなさそうですね。JDialog使うか、以下みたいにして誤魔化すか…、L&F自作すれば何とかなるのかな? -- terai 2004-08-12 (木) 17:01:45
    //XPだと「画面のプロパティ」「デザイン」「次のアニメーション効果を…」
    //を無効にしないと、ちょっとかっこ悪い。
    frame.addWindowListener(new WindowAdapter() {
      public void windowIconified(WindowEvent e) {
        frame.setState(frame.NORMAL);
      }
    });
    
  • Go state-of-the-art with IFrame も面白そうです。IBMだからSWT使ってるのかなと思ったらJFrame継承して作られています。 -- terai 2004-08-12 (木) 18:31:16
  • レイアウト変更したときにsetAlwaysOnTopが紛れ込んで、Java Web Startでサンプルが起動できなくなっていた不具合を修正。 -- terai 2009-03-14 (土) 17:44:18