I think you mean add a getter and setter in CompositePanel, but the problem
is how to access it in HATestPanel?
as I don't know the variable name of each CompositePanel.
just like I click the button three times, then what is the variaible name
of these 3 compositePanel? although in each click handler its name is
compositePanel.
Jens於 2012年4月14日星期六UTC+8下午10時36分21秒寫道:
> Store your widgets in fields and add getter/setter methods so you can
> access their data.
>
> Also in your ClickHandler instead of:
>
> ((HATestPanel)((Button)
> event.getSource()).getParent()).add(compositePanel);
>
> you can simply do
>
> add(compositePanel) or HATextPanel.this.add(compositePanel) if you like.
>
> -- J.
>
> Am Samstag, 14. April 2012 16:17:36 UTC+2 schrieb tong123123:
>>
>> as shown in the attached image, if I want to access the value of the
>> textbox with value "value2" (the textbox in the second row after the "add"
>> button"), how to do it as seem there is no a specific name to access it.
>>
>> the code is as follow:
>>
>>> package com.mycompany.project.client;
>>>
>>> import com.google.gwt.event.dom.client.ClickEvent;
>>> import com.google.gwt.event.dom.client.ClickHandler;
>>> import com.google.gwt.user.client.ui.Button;
>>> import com.google.gwt.user.client.ui.FlowPanel;
>>> import com.google.gwt.user.client.ui.Widget;
>>>
>>> public class HATestPanel extends FlowPanel{
>>>
>>> Button btnAdd = new Button("Add");
>>> Button btnListWidget = new Button("List Widget");
>>>
>>> public void onLoad(){
>>>
>>> this.add(btnAdd);
>>> btnAdd.addClickHandler(new ClickHandler(){
>>>
>>> @Override
>>> public void onClick(ClickEvent event) {
>>> // TODO Auto-generated method stub
>>> CompositePanel compositePanel = new CompositePanel();
>>> ((HATestPanel)((Button)
>>> event.getSource()).getParent()).add(compositePanel);
>>> }
>>>
>>> });
>>>
>>> }
>>> }
>>>
>>
>> and the implementation of CompositePanel is as follow:
>>
>>> package com.mycompany.project.client;
>>>
>>> import com.google.gwt.user.client.ui.FlowPanel;
>>> import com.google.gwt.user.client.ui.HorizontalPanel;
>>> import com.google.gwt.user.client.ui.Label;
>>> import com.google.gwt.user.client.ui.ListBox;
>>> import com.google.gwt.user.client.ui.TextBox;
>>>
>>> public class CompositePanel extends HorizontalPanel{
>>>
>>> protected void onLoad(){
>>> ListBox lb = new ListBox();
>>> TextBox txt2 = new TextBox();
>>> lb.addItem("field1");
>>> lb.addItem("field2");
>>> lb.addItem("field3");
>>> this.add(lb);
>>> this.add(txt2);
>>> }
>>>
>>> }
>>>
>>
>> maybe my design is poor, any better method suggested?
>> in reality, the listbox is used for user select "searc field", and the
>> textbox is for user enter search value for that search field.
>>
>>
>>
>>
>>
>
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/google-web-toolkit/-/Y5Q62a-Fg_YJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en.