Разрешить только некоторые определенные размеры окон - PullRequest
1 голос
/ 01 февраля 2012

В настоящее время я программирую Java-приложение, в котором я хочу разрешить только несколько размеров окна для окна.В качестве примера я хочу, чтобы пользователь мог изменить размер окна (JFrame) до 200/300, 350/400 и 400,450.Теперь, если пользователь изменяет размеры окна, оно должно быть принято только в том случае, если окно соответствует возможным размерам.

Было бы здорово, если бы пользователь мог видеть в реальном времени, принят ли размер окна или нет.(например, размер окна будет соответствовать возможным размерам при изменении размера)

Ответы [ 3 ]

3 голосов
/ 01 февраля 2012

ComponentListener может сделать это, но обратите внимание на случай, если вы будете перекрывать максимум, тогда Container будет мерцать на экране, но существует код для ComponentResizer code by @ camickr

2 голосов
/ 01 февраля 2012

Простое исправление может состоять в том, чтобы отключить ручное изменение размера и дать меню или что-то подобное, что дает пользователю выбор размера окна, которое он хочет, почти так же, как разрешение экрана в играх.* Другое решение, которое может быть немного более сложным, состоит в том, что вы делаете событие при отпускании мыши после изменения размера окна, вы проверяете новый размер и «округляете» его до ближайшего из ваших предпочтительных размеров.

2 голосов
/ 01 февраля 2012

Это действительно раздражало бы меня как пользователя.Возможно, я временно захочу использовать нестандартный размер, чтобы я мог видеть вещи в вашем приложении и в другом приложении, даже если ваше приложение не имеет хорошего макета при этом размере.размеры, затем отключите изменение размера пользователя.Затем добавьте пункт меню, где пользователь может выбрать из списка приемлемых размеров.

...