1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- ---
- title: Client-Side Module Entry-Point
- order: 2
- layout: page
- ---
-
- [[clientsideapp.entrypoint]]
- = Client-Side Module Entry-Point
-
- A client-side application requires an __entry-point__ where the execution
- starts, much like the [methodname]#init()# method in server-side Vaadin UIs.
-
- Consider the following application:
-
- [source, java]
- ----
- package com.example.myapp.client;
-
- import com.google.gwt.core.client.EntryPoint;
- import com.google.gwt.event.dom.client.ClickEvent;
- import com.google.gwt.event.dom.client.ClickHandler;
- import com.google.gwt.user.client.ui.RootPanel;
- import com.vaadin.ui.VButton;
-
- public class MyEntryPoint implements EntryPoint {
- @Override
- public void onModuleLoad() {
- // Create a button widget
- Button button = new Button();
- button.setText("Click me!");
- button.addClickHandler(new ClickHandler() {
- @Override
- public void onClick(ClickEvent event) {
- mywidget.setText("Hello, world!");
- }
- });
- RootPanel.get().add(button);
- }
- }
- ----
-
- Before compiling, the entry-point needs to be defined in a module descriptor, as
- described in the next section.
-
- [[clientsideapp.entrypoint.descriptor]]
- == Module Descriptor
-
- The entry-point of a client-side application is defined, along with any other
- configuration, in a client-side module descriptor, described in
- <<../clientside/clientside-module#clientside.module,"Client-Side
- Module Descriptor">>. The descriptor is an XML file with suffix
- [filename]#.gwt.xml#.
-
- [source, xml]
- ----
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE module PUBLIC
- "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN"
- "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd">
- <module>
- <!-- Builtin Vaadin and GWT widgets -->
- <inherits name="com.vaadin.Vaadin" />
-
- <!-- The entry-point for the client-side application -->
- <entry-point class="com.example.myapp.client.MyEntryPoint"/>
- </module>
- ----
-
- You might rather want to inherit the [classname]#com.google.gwt.user.User# to
- get just the basic GWT widgets, and not the Vaadin-specific widgets and classes,
- most of which are unusable in pure client-side applications.
-
- You can put static resources, such as images or CSS stylesheets, in a
- [filename]#public# folder (not a Java package) under the folder of the
- descriptor file. When the module is compiled, the resources are copied to the
- output folder. Normally in pure client-side application development, it is
- easier to load them in the HTML host file or in a [classname]#ClientBundle# (see
- GWT documentation), but these methods are not compatible with server-side
- component integration, if you use the resources for that purpose as well.
-
-
-
|