Потому что вы вызываете titleField.getHeight()
в конструкторе экрана. На данный момент структура пользовательского интерфейса еще не прошла процесс компоновки / измерения для экрана. Например, если вы будете вызывать тот же titleField.getHeight()
после того, как будет выполнен хотя бы один вызов paint(Graphics graphics)
, вы сможете получить ненулевое значение. Все макеты / измерения гарантированно пройдены ДО того, как содержимое экрана может быть нарисовано.
Проверьте Manager.sublayout (int width, int height) API . MainScreen
также является Manager
. Таким образом, в некоторый момент ПОСЛЕ того, как экран был создан, но ДО того, как он будет нарисован, инфраструктура пользовательского интерфейса вызывает его sublayout(int width, int height)
, где происходит все компоновка / измерение (все дочерние поля получают свои размеры).