The code: works fine when commented-out rb10 is active; when
implemented as shown with array element, displays nothing:
package com.wordsbythebay.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.event.dom.client.KeyUpEvent;
import com.google.gwt.event.dom.client.KeyUpHandler;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.RadioButton;
/**
* Entry point classes define <code>onModuleLoad()</code>.
*/
public class GrammarFun implements EntryPoint {
/**
* Create a remote service proxy to talk to the server-side Question
service.
*/
private final QuestionServiceAsync questionService = GWT.create
(QuestionService.class);
public RadioButton rb11 = null;
// public RadioButton rb10 = null;
public RadioButton arbys[] = null;
/**
* This is the entry point method.
*/
public void onModuleLoad() {
final RadioButton rb4 = new RadioButton("myGradioGroup2",
"goes");
String[] myStringArray = {"eat", "eats"};
final Question myQuestion = new Question("the boy",
myStringArray,
"his lunch", "s-v agreement");
// add a flow panel to the root panel
final FlowPanel panel = new FlowPanel();
// final ScrollPanel panel = new ScrollPanel();
RootPanel.get().add(panel);
// Create a simple popup box for debugging
final DialogBox dBox = new DialogBox();
dBox.setText("would get next question from server");
dBox.setAnimationEnabled(true);
final Button cB = new Button("Close");
cB.getElement().setId("closeButton2");
VerticalPanel dVP = new VerticalPanel();
dVP.addStyleName("dialogVPanel");
dVP.add(new HTML("wadda wadda"));
dVP.add(cB);
dBox.setWidget(dVP);
// Add a handler to close the DialogBox
cB.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
dBox.hide();
}
});
// Create a handler for the radio button
class MyRadHandler implements ClickHandler {
int groupCount = 0;
/**
* Fired when the user clicks on the radio Button.
*/
public void onClick(ClickEvent event) {
checkAnswer();
// if correct . . .
//
getNextQuestion();
}
/**
* check the user's answer
*/
void checkAnswer() {
questionService.getQuestion(new
AsyncCallback<Question>() {
public void onFailure(Throwable caught)
{
// might do better to just
throw exception here
dBox.setText("radio button
error getting question from server");
dBox.center();
cB.setFocus(true);
}
public void onSuccess(Question result) {
//
if (rb10 != null && rb10.getValue() == true)
if (arbys[0] != null &&
arbys[0].getValue() == true)
panel.add(new
HTML("[user clicked first button]"));
else if (rb11 != null &&
rb11.getValue() == true)
panel.add(new
HTML("[user clicked second button]"));
else if (arbys[0] != null &&
rb11 != null)
return;
panel.add(new HTML("<br>"));
String groupName =
"myGeneratedRadioGroup" + ++groupCount;
panel.add(new
HTML(result.start));
// XXX hardwires in exactly two
choices
//
rb10 = new RadioButton(groupName, result.choices[0]);
arbys[0] = new
RadioButton(groupName, result.choices[0]);
rb11 = new
RadioButton(groupName, result.choices[1]);
//
panel.add(rb10);
panel.add(arbys[0]);
panel.add(rb11);
panel.add(new HTML(result.end));
panel.add(new HTML("<br>"));
String wholeThing = "";
wholeThing = result.start + " ";
for (int i = 0; i <
result.choices.length; i++)
wholeThing = wholeThing
+ result.choices[i] + " ";
wholeThing = wholeThing +
result.end + " ";
wholeThing = wholeThing + "(" +
result.hint+ ")";
//
panel.add(new HTML("[" + groupName + wholeThing + "]"));
MyRadHandler aHandler = new
MyRadHandler();
//
rb10.addClickHandler(aHandler);
arbys[0].addClickHandler(aHandler);
rb11.addClickHandler(aHandler);
}
});
}
}
// add a handler for the radio button
MyRadHandler radHandler = new MyRadHandler();
Button b = new Button("Start!", radHandler);
panel.add(b);
}
}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
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
-~----------~----~----~----~------~----~------~--~---