2013-05-29 38 views
0

其通用問題。如果我添加一些UI對象(如JButton等)並檢查isVisible屬性,它將返回true。但是,它是否確保對象在顯示屏上實際呈現並正確可見?如果沒有,有沒有更好的方法來檢查相同的?isVisible()是否保證JAVA中的UI對象的可見性

+1

isVisible只返回當前組件的標誌值。它不能確保您的組件是可見組件層次結構的一部分。你應該看看'isShowing()' –

回答

0

isVisible()只是該組件本身的提示。如果它真的對用戶可見,則取決於組件的父級層次結構。這可以通過Component繼承的isShowing()得到最好的驗證,它檢查組件的isVisible()isDisplayable()以及它的所有父組件。但是,正如javadoc所提到的,即使這並不能保證該組件真的對用戶真正可見:

注意:有時候無法檢測組件是否對用戶實際可見。這可能發生在:

  • 該組件已被添加到可見的ScrollPane中,但該組件當前不在滾動窗格的視圖端口中。

  • 組件被另一個組件或容器遮擋。

相關問題