Java LWUIT dosent中的TextField isVisible()函数按aspected工作

Java LWUIT dosent中的TextField isVisible()函数按aspected工作,java,java-me,lwuit,lwuit-form,lwuit-textfield,Java,Java Me,Lwuit,Lwuit Form,Lwuit Textfield,我正在使用LWUIT library开发一个移动应用程序。它是一种包含容器和组件的形式。我有一个容器c2,其中包含某些控件,如各种文本字段、标签等。我正在尝试对其进行验证。但在某些情况下,验证应仅对屏幕上可见的组件起作用。 例如,我遇到一种情况,c2容器不在屏幕上,然后我尝试通过以下代码检查它是否可见: System.out.println(txt_Name.isVisible()); 尽管在屏幕上不可见,它仍然显示为TRUE。但是我想它应该显示为FALSE。我试过了,但不符合我的要求。我没有

我正在使用LWUIT library开发一个移动应用程序。它是一种包含容器和组件的形式。我有一个容器c2,其中包含某些控件,如各种文本字段、标签等。我正在尝试对其进行验证。但在某些情况下,验证应仅对屏幕上可见的组件起作用。 例如,我遇到一种情况,c2容器不在屏幕上,然后我尝试通过以下代码检查它是否可见:

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

尽管在屏幕上不可见,它仍然显示为TRUE。但是我想它应该显示为FALSE。我试过了,但不符合我的要求。我没有主意了,最后的办法就是这样。任何帮助都将不胜感激。

我认为方法
是可见的()
总是返回一个布尔值来表示
组件的状态。我的意思是,如果
组件
显示在界面中,它将返回true,但不必在屏幕中显示
组件


如果您想检查
组件是否在屏幕上,我建议您使用
getX()
getY()
检查
组件的坐标,并检查它是否在屏幕上。试着告诉我们你得到了什么。

我第一次得到(0,0),当添加组件时,结果是(2,27)。但是,当我再次禁用它作为宠物的情况下,我仍然得到(2,27)。是否存在与包含组件的容器相关的任何内容?getX()和getY()将为您提供元素的坐标…我认为这不是您想要的…如果您使用…isFocused(),您现在将看到,如果元素具有应用程序的焦点…如果它具有它…正在显示。您在哪个平台上构建此应用程序?诺基亚SDK 2?SDK 1.1?SDK 1.1是平台
isVisible()
方法是
setVisible(boolean)
方法的getter。它允许您切换可见性状态,以便不会渲染组件。它的设计目的不是让您知道是否在屏幕上呈现了一个组件。尝试检查屏幕上是否有一个容器可能不是正确的方法,我建议回溯您为什么尝试这样做,以及您要完成什么,然后用这些信息重新表述问题。