Ресайз при изменении размера окна

Версия Minecraft
1.12.2
476
9
39
Где-то тут была тема с решенным вопросом о том как поймать событие изменение разрешения окна игры.
Мне это нужно чтобы подкрутить гуиху потому что координаты, в силу обстоятельств, инициализируется в конструкторе, соответственно, под новое разрешение они не подстраиваются.
А вычислять каждый раз != адекватный код. Т.е будет куча не нужных костылей.
 
Решение
Позиционировать элементы в конструкторе немножко бред, лучше делать это в initGui, потому что тот автоматом вызывается при ресайзе окна и перестраивает всю гуишку. Никогда не видел с этим проблем, удобный подход.
Ну и из предыдущего, вроде очевидно, где можно перехватить событие ресайза окна.
1,990
18
105
Позиционировать элементы в конструкторе немножко бред, лучше делать это в initGui, потому что тот автоматом вызывается при ресайзе окна и перестраивает всю гуишку. Никогда не видел с этим проблем, удобный подход.
Ну и из предыдущего, вроде очевидно, где можно перехватить событие ресайза окна.
 
476
9
39
Позиционировать элементы в конструкторе немножко бред, лучше делать это в initGui, потому что тот автоматом вызывается при ресайзе окна и перестраивает всю гуишку. Никогда не видел с этим проблем, удобный подход.
Это невероятно странно работает у меня, ещё не понял почему и как :\
А эм.. нет, надо всё же делать это ещё и конструкторе, я думал initGui вызывается и при инициализации гуи.
Upd. я криворук и с утра не умею думать, да ещё и в субботу.
initGui не срабатывает.
я идиот, я осознал scaledResolution не меняется и нужно вручную обновлять.
 
Последнее редактирование:
2,505
81
397
Что-то понаписал, ничего не понятно.
initGui точно срабатывает и при открытии. А ещё, если this.mc == null, то это именно открытие гуи, а не ресайз. Может быть полезно, чтобы не пересоздавать элементы, а только ресайзнуть их.
 
Сверху