Скажите почему не задаётся максимальный размер окна? Доброго времени суток. Я только начинаю изучать Java, и на каждом шагу встречаю много подводных камней. Порой ошибки глупые и банальные. Могу целый день сидеть пытаясь решить какую нибудь ерунду. Может это и неправильно спрашивать какие то глупые вопросы, но уже понял всё же лучше спросить и двигаться дальше. В связи с чем прошу помочь мне в решении такой задачи. Мне необходимо задать размер формы, что бы минимальный размер её составлял 400 на 400 а максимальный 600 на 600. JFrame frame = new JFrame("Новая форма");
frame.setVisible(true);
frame.setSize(400, 400);
frame.setMinimumSize(new Dimension(400, 400));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setMaximumSize(new Dimension(600, 600));
Если ограничить пользователя с уменьшением окна всё получилось то вот метод setMaximumSize не работает вовсе. Почему?

21 Авг 2019 в 07:08
217 +1
0
Ответы
1

Проблема с методом setMaximumSize() в том, что он не применяется к JFrame напрямую. Вместо этого, вы должны установить максимальный размер для самого содержимого окна (content pane). Для этого нужно использовать getContentPane() метод для получения контента и установки максимального размера для него.

Пример исправленного кода:

JFrame frame = new JFrame("Новая форма");
frame.setVisible(true);
frame.setSize(400, 400);
frame.setMinimumSize(new Dimension(400, 400));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container contentPane = frame.getContentPane();
contentPane.setMaximumSize(new Dimension(600, 600));

Теперь максимальный размер будет ограничен 600x600, как вам и нужно. Надеюсь, это поможет вам продолжить изучение Java и решение других задач. Удачи!

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир