Java jak zmaksymalizować JFrames, ale nie można jej zmieniać rozmiaru

Pierwotnie (patrz moje poprzednie pytanie)Java jak sprawić, by JFrames zaczęły się jako zmaksymalizowane okno„) Chciałem zmaksymalizować okno, które zaczyna się. Ten kod to osiąga:

public static void main(String[] args)  {

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

}

Jeśli jednak okno to zostanie przywrócone, stanie się praktycznie nieistniejącym paskiem. Aby rozwiązać ten problem, ustawiam rozmiar okna za pomocą setSize (). To działa, ale przedstawia inny problem, okno może zostać zmienione.

Aby rozwiązać ten problem, ustawię setResizable (false); a to jest mój kod do tej pory:

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

}

Jednak teraz okno zaczyna się od określonego rozmiaru (zamiast maksymalizować) i nie można go przywrócić.

Tak więc moje pytanie brzmi: jak mogę zmaksymalizować okno, nadać mu rozmiar po przywróceniu i uniemożliwić zmianę rozmiaru? Lub spraw, aby okno, które zaczyna się zmaksymalizować i nie można go przywrócić?

questionAnswers(4)

yourAnswerToTheQuestion