2009-10-22 74 views
1

似乎有很多Java awt Container類中的方法與驗證有關。顯然他們不做數據驗證。在任何情況下,它對Swing開發人員都有用嗎?某些方法: 驗證(),無效(),validateTree(),isValid()的等Container.validate()方法做什麼?

回答

8

引述API doc

validate方法被用來使得 容器佈置其子組件 再次。在 容器已被顯示之後,當 容器的子組件被修改 (添加到 容器中,或從與 信息相關的版本相關的 更改中刪除)時,應該調用它。

+0

您閱讀了RTRM! (雖然通常你會使用'JComponent.revalidate'。) – 2009-10-22 15:54:09

3

Swing上下文中的驗證涉及請求組件在修改其中一個子組件後進行佈局。

例如,假設您使用「顯示過濾器」按鈕來實現自定義JDialog。點擊此按鈕後,您可能需要在JDialog的南邊添加一個額外的「過濾器」面板。在添加新的子面板時,您需要調用JDialog上的validate()以使其正確佈置新面板。

+3

+1。有些人還稱驗證()爲魔法使神奇地使事情正常工作...所以,如果你在其他人的GUI代碼工作,注意不必要的電話。 – 2009-10-22 17:22:51