概要

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

サンプルコード

frame.setResizable(false);
view all

解説

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

この設定を切り替えると、LookAndFeelによっては装飾が変化してJFrame自体のサイズが変化する場合があります。

コメント

  • アイコン化ボタンを無効化する方法はないようですね。JInternalFrameならクローズも最大化もアイコン化も全部いじれるのに。 -- さく
  • なんだか無さそうですね。JDialogを使うか、以下のように誤魔化すか…、LookAndFeelを自作すれば何とかなるのかな? -- aterai
    frame.addWindowListener(new WindowAdapter() {
      @Override public void windowIconified(WindowEvent e) {
        frame.setExtendedState(Frame.NORMAL);
      }
    });
    
  • Go state-of-the-art with IFrameも面白そうです。IBMだからSWT使ってるのかなと思ったらJFrameを継承して作られています。 -- aterai
  • レイアウト変更したときにsetAlwaysOnTopが紛れ込んで、Java Web Startでサンプルが起動できなくなっていた不具合を修正。 -- aterai