Excerpts from
ChatFormController
. Defines a single action
send
, and adds it to the view. Also handles the events when the
send
action is "fired". See
this tutorial,target=top for a more comprehensive treatment of this material.
public class ChatFormController extends FormController {
public static final ActionNode send = action( (1)
enabledCondition(entity-> {
return !entity.isEmpty(ChatRoom.inputBuffer);
}),
icon(FontImage.MATERIAL_SEND)
);
public ChatFormController(Controller parent) {
super(parent); (2)
Form f = new Form("My First Chat Room", new BorderLayout());
ViewNode viewNode = new ViewNode(
actions(ChatRoomView.SEND_ACTION, send), (3)
);
ChatRoomView view = new ChatRoomView(createViewModel(), viewNode, f); (4)
f.add(CENTER, view);
setView(f);
addActionListener(send, evt->{ (5)
evt.consume();
});
}
}