Java, wie man JFrames maximiert, aber nicht in der Größe verändert

Ursprünglich (siehe meine vorherige Frage "Java, wie JFrames als maximiertes Fenster gestartet werden") Ich wollte ein Fenster erstellen, das maximiert beginnt. Dieser Code bewirkt Folgendes:

public static void main(String[] args)  {

JFrame frame = new JFrame();
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setVisible(true);

}

Wenn dieses Fenster jedoch wiederhergestellt wird, wird es zu einer praktisch nicht vorhandenen Leiste. Um dies zu lösen, setze ich mit setSize () eine Größe für das Fenster. Dies funktioniert, stellt jedoch ein weiteres Problem dar. Die Fenstergröße kann weiterhin geändert werden.

Um dieses Problem zu lösen, setze ich setResizable (false); und das ist mein code soweit:

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);

}

Jetzt beginnt das Fenster jedoch mit der angegebenen Größe (und nicht maximiert) und kann nicht wiederhergestellt werden.

Meine Frage ist also, wie kann ich das Fenster entweder maximieren, eine Größe für den Fall festlegen, dass es wiederhergestellt wird, und die Größenänderung unmöglich machen? Oder ein Fenster erstellen, das maximiert beginnt und nicht wiederhergestellt werden kann?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage