[an error occurred while processing this directive]

Creating Composite Widgets using GWT

                         

This example describes the Basics for creating composite widgets using GWT. The steps involved in Building the Composite widgets are described below:-

final Label label = new Label("Click the Node to view Tree structure")
Here we are declaring label. Label is a widget that contains text.

private TextBox tb = new TextBox();
Declaring a new TextBox as tb.

private CheckBox cb = new CheckBox();
Declaring a new CheckBox as cb.

VerticalPanel panel = new VerticalPanel()
Creating a Vertical panel named as panel.

panel.add(cb)
This is the method of the panel class for adding checkbox to the panel.

RootPanel.get().add(label1)
By this method we are adding label to the rootpanel.Root panel is a panel to which all other widgets must  be added. it is not created directly.

Compositewidgetex.java

package org.yournamehere.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;

public class Compositewidgetex implements EntryPoint{
private static class OptionalTextBox extends Composite implements ClickListener {

    
    private TextBox tb = new TextBox();
    private CheckBox cb = new CheckBox();

    public OptionalTextBox(String caption) {

      VerticalPanel panel = new VerticalPanel();
      panel.add(cb);
      panel.add(tb);

      cb.setText(caption);
      cb.setChecked(true);
      cb.addClickListener(this);
      initWidget(panel);
          }

    public void onClick(Widget sender) {
      if (sender == cb) {
        tb.setEnabled(cb.isChecked());
      }
    }
    public void setCaption(String caption) {
      cb.setText(caption);
    }
    public String getCaption() {
      return cb.getText();
    }
  }

  public void onModuleLoad() {
     final Label label = new Label("Example to show Composite widgets");
    final Label label1 = new Label("                                   ");
    OptionalTextBox optionalTextBox = new OptionalTextBox("Check this to enable");
    RootPanel.get().add(label);
        RootPanel.get().add(label1);
    RootPanel.get().add(optionalTextBox);
    
  }
}

Main.gwt.xml

<?xml version="1.0" encoding="UTF-8"?>
<module>
  <inherits name="com.google.gwt.user.User"/>
  <entry-point class="org.yournamehere.client.Compositewidgetex"/>
  
</module>

Output of the program :

       

Download sourcecode

                         

[an error occurred while processing this directive]