2011-11-21 54 views
2

我正在使用GWT 2.4。我有一個FormPanel的引用,它包含一個Button,id =「save」。如何在給定表單面板實例的情況下獲取Button小部件的引用?GWT:如何獲得給定FormPanel的Button小部件引用?

請注意,Button不是formPanel的直接後代,因此「formPanel.getWidget()」不會自動返回對Button的引用。

謝謝, -

+0

你可以發表你的意思代碼或示例代碼? – Chris

回答

-1

您可以使用,如果你正在使用com.google.gwt.user.client.ui.FormPanel

formPanel.getWidget()

。它會給你對FormPanel中添加的小部件的引用。

+0

我將編輯我的queston,但id =「save」的Button不是Formpanel的直接後代,所以getWidget不會返回對它的引用。鑑於此,我只知道它的id,它是FormPanel的後代(在某種級別上),我如何才能得到Button小部件的引用? – Dave

+0

這個答案其實是不正確的。 'getWidget()'方法是從'SimplePanel'繼承的,'FormPanel'繼承自'SimplePanel'。調用'getWidget()'將返回窗體中唯一的窗口小部件(表單域的「容器」)。在我的例子中,它會返回'fieldContainer'。 –

+0

嘿克里斯,SimplePanel只允許添加一個小部件,FormPanel也是如此,根據http://google-web-toolkit.googlecode.com/svn/javadoc/1.6/com/google/gwt/user/client/ UI/SimplePanel.html。我試着在發佈答案之前運行你的示例代碼,但是我不知道你使用了哪個FormPanel,因爲它給了我java.lang.IllegalStateException:SimplePanel只能包含一個子控件。發佈之前你有沒有運行你的代碼?或者你能澄清你使用的是哪個FormPanel? – RAS