Функция TextField isVisible() в LWUIT не работает должным образом

Я работаю над приложением для мобильных устройств с использованием библиотеки LWUIT. Его форма с контейнерами и компонентами. У меня есть контейнер c2, который содержит определенные элементы управления, такие как различные textFields, метки и т. Д. Я пытаюсь поставить проверки на нем. Но в некоторых случаях проверка должна работать только на тех компонентах, которые видны на экране. Например, у меня есть ситуация, когда контейнер c2 отсутствует на экране, и затем я пытаюсь проверить, виден ли он, с помощью следующего кода:

System.out.println(txt_Name.isVisible());

Несмотря на то, что он не виден на экране, он все равно отображается как ИСТИНА. Но я думаю, это должно показать ЛОЖЬ. Я попытался isEnabled, но это не в соответствии с моим требованием. У меня закончились идеи, и последним средством было ТАК. Любая помощь будет оценена.

1 ответ

Я думаю, что метод isVisible() всегда возвращать логическое значение состояния Component, Я имею в виду, если Component отображается в интерфейсе, он вернет значение true, но показывать Componentна экране.

Если вы хотите проверить, если ваш Component на экране или нет, я рекомендую вам проверить координаты вашего Componentс помощью getX() а также getY()и проверка, находится ли он на экране или нет. Попробуйте и расскажите нам, что у вас есть.

Другие вопросы по тегам