marswe
26 Aug 2008, 2:33 AM
Hi!
In the code below there is a difference between how Radios and TextField call events. The Radio always sends a change-event when the page is rendered, but not a TextField. Hence, I have to add the listener at the end of the code regarding the Radio but not the TextField. Why is there difference in the behaviour? This occured when changed from 1.02 to 1.1 alpha1.
/Markus
package com.mygwtest.client;
import com.extjs.gxt.ui.client.Events;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.form.Radio;
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.event.FieldEvent;
import com.extjs.gxt.ui.client.widget.form.TextField;
public class Test implements EntryPoint {
public void onModuleLoad() {
ContentPanel panel = new ContentPanel();
panel.setSize(200, 200);
LayoutContainer container = new LayoutContainer();
FormLayout layout = new FormLayout(LabelAlign.TOP);
layout.setDefaultWidth(200);
container.setLayout(layout);
RadioGroup sellingUnit = new RadioGroup();
sellingUnit.setFieldLabel("Selling Unit");
Radio xWeight = new Radio();
xWeight.setBoxLabel("XWeight");
xWeight.setValue(true);
Radio sWeight = new Radio();
sWeight.setBoxLabel("SWeight");
sellingUnit.add(xWeight);
sellingUnit.add(sWeight);
container.add(sellingUnit);
TextField<String> test = new TextField<String>();
test.setFieldLabel("Test");
test.addListener(Events.Change, new Listener<FieldEvent>() {
public void handleEvent(FieldEvent fe) {
System.out.println(fe.field);
}
});
test.setValue("Testing, testing");
panel.add(test);
panel.add(container);
RootPanel.get().add(panel);
xWeight.addListener(Events.Change, new Listener<FieldEvent>() {
public void handleEvent(FieldEvent fe) {
System.out.println(fe.field);
}
});
}
}
In the code below there is a difference between how Radios and TextField call events. The Radio always sends a change-event when the page is rendered, but not a TextField. Hence, I have to add the listener at the end of the code regarding the Radio but not the TextField. Why is there difference in the behaviour? This occured when changed from 1.02 to 1.1 alpha1.
/Markus
package com.mygwtest.client;
import com.extjs.gxt.ui.client.Events;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.form.Radio;
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.event.FieldEvent;
import com.extjs.gxt.ui.client.widget.form.TextField;
public class Test implements EntryPoint {
public void onModuleLoad() {
ContentPanel panel = new ContentPanel();
panel.setSize(200, 200);
LayoutContainer container = new LayoutContainer();
FormLayout layout = new FormLayout(LabelAlign.TOP);
layout.setDefaultWidth(200);
container.setLayout(layout);
RadioGroup sellingUnit = new RadioGroup();
sellingUnit.setFieldLabel("Selling Unit");
Radio xWeight = new Radio();
xWeight.setBoxLabel("XWeight");
xWeight.setValue(true);
Radio sWeight = new Radio();
sWeight.setBoxLabel("SWeight");
sellingUnit.add(xWeight);
sellingUnit.add(sWeight);
container.add(sellingUnit);
TextField<String> test = new TextField<String>();
test.setFieldLabel("Test");
test.addListener(Events.Change, new Listener<FieldEvent>() {
public void handleEvent(FieldEvent fe) {
System.out.println(fe.field);
}
});
test.setValue("Testing, testing");
panel.add(test);
panel.add(container);
RootPanel.get().add(panel);
xWeight.addListener(Events.Change, new Listener<FieldEvent>() {
public void handleEvent(FieldEvent fe) {
System.out.println(fe.field);
}
});
}
}