4 import java.util.List;
\r
6 import com.google.gwt.core.client.EntryPoint;
\r
7 import com.google.gwt.core.client.GWT;
\r
8 import com.google.gwt.event.dom.client.ClickEvent;
\r
9 import com.google.gwt.event.dom.client.ClickHandler;
\r
10 import com.google.gwt.user.client.Window;
\r
11 import com.google.gwt.user.client.rpc.AsyncCallback;
\r
12 import com.google.gwt.user.client.ui.Button;
\r
13 import com.google.gwt.user.client.ui.Grid;
\r
14 import com.google.gwt.user.client.ui.HorizontalPanel;
\r
15 import com.google.gwt.user.client.ui.RootPanel;
\r
16 import com.google.gwt.user.client.ui.TextBox;
\r
17 import com.google.gwt.user.client.ui.VerticalPanel;
\r
19 public class Index implements EntryPoint {
\r
21 private final ChatServiceAsync chatService = GWT.create(ChatService.class);
\r
23 private Grid receiveMessageGrid;
\r
25 private TextBox messageField;
\r
27 private Button sayButton;
\r
29 public void onModuleLoad() {
\r
30 VerticalPanel p1 = new VerticalPanel();
\r
32 this.receiveMessageGrid = new Grid(0, 1);
\r
33 p1.add(this.receiveMessageGrid);
\r
35 HorizontalPanel p2 = new HorizontalPanel();
\r
38 this.messageField = new TextBox();
\r
39 this.messageField.setFocus(true);
\r
40 p2.add(this.messageField);
\r
42 this.sayButton = new Button();
\r
43 this.sayButton.setText("Say");
\r
44 this.sayButton.addClickHandler(new ClickHandler() {
\r
47 public void onClick(ClickEvent event) {
\r
48 Index.this.sayMessage();
\r
52 p2.add(this.sayButton);
\r
54 RootPanel.get().add(p1);
\r
59 private void sayMessage() {
\r
60 this.chatService.say(this.messageField.getText(), new AsyncCallback<Void>() {
\r
63 public void onSuccess(Void result) {
\r
67 public void onFailure(Throwable caught) {
\r
68 Window.alert("error");
\r
73 this.messageField.setText("");
\r
74 this.messageField.setFocus(true);
\r
77 private void getMessages() {
\r
78 this.chatService.getMessage(new AsyncCallback<List<ChatMessageDto>>() {
\r
81 public void onSuccess(List<ChatMessageDto> result) {
\r
82 for (ChatMessageDto dto : result) {
\r
83 Index.this.receiveMessageGrid.resize(Index.this.receiveMessageGrid.getRowCount() + 1, 1);
\r
84 Index.this.receiveMessageGrid.setText(Index.this.receiveMessageGrid.getRowCount() - 1, 0, dto.getMessage());
\r
87 Index.this.getMessages();
\r
91 public void onFailure(Throwable caught) {
\r
92 Window.alert("error");
\r