Я пытаюсь реализовать довольно простой пользовательский интерфейс, используя SpringLayout
(отчасти потому, что я, в отличие от большинства авторов руководств, которых я нахожу в сети, очень похож на интерфейс кодирования по сравнению с другими менеджерами компоновки, а отчасти потому, что я хочу научиться его использовать ). Пользовательский интерфейс в основном выглядит так:
Это все хорошо. Пользовательский интерфейс изменяет размер так, как я хочу (сохраняя текст приветствия по центру и расширяя текстовую область, чтобы заполнить все новое доступное пространство), если я увеличиваю размер окна. Однако ниже определенной точки (точнее, когда окно становится слишком узким для приветственного текста):
Я бы хотел, чтобы окно не допускало дальнейшего сжатия, чтобы, если пользователь попытается сжать окно до размера, меньшего, чем достаточно для размещения компонентов, оно просто остановится. Как мне это сделать, используя менеджер компоновки SpringLayout
?
Я знаю, что мог бы сделать это, обработав событие изменения размера и проверив, достигнут ли минимальный размер, а затем просто установив минимальный размер. Но это требует от меня: а) знать или знать, как рассчитать минимальный размер окна, даже до его рендеринга, б) написать кучу кода обработки событий, чтобы получить правильный рендеринг пользовательского интерфейса, и в) написать куча кода для вещей, о которых я ожидаю, что хороший менеджер по расположению позаботится;)