もともと (私の前の質問「Java で JFrames を最大化されたウィンドウとして開始する方法」を参照してください)、最大化された状態で開始するウィンドウを作成したかったのです。このコードはこれを実現します:
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setVisible(true);
}
ただし、このウィンドウを元に戻すと、実質的に存在しないバーになります。これを解決するために、setSize() を使用してウィンドウのサイズを設定します。これは機能しますが、ウィンドウのサイズを変更できるという別の問題があります。
この問題を解決するために、setResizable(false); を設定しました。そして、これはこれまでの私のコードです:
public static void main(String[] args) {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
JFrame frame = new JFrame("Jedia");
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setSize(screenSize);
frame.setResizable(false);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
ただし、現在、ウィンドウは (最大化ではなく) 指定されたサイズで開始され、元に戻すことはできません。
それで、私の質問は、どうすればウィンドウを最大化して開始し、元に戻すときのサイズを指定して、サイズ変更を不可能にすることができますか? または、最初は最大化されていて元に戻すことができないウィンドウを作成しますか?