2009-11-25 3 views
0

Ниже приведен класс тестирования, но я не могу его добавить в com.smartgwt.client.widgets.Window.Добавить gwt-connector в smartgwt

Любой может мне помочь? Заранее спасибо!

package com.smartgwt.sample.showcase.client; 

импорт pl.tecna.gwt.connectors.client.ConnectionPoint; импорт pl.tecna.gwt.connectors.client.Connector; import pl.tecna.gwt.connectors.client.Diagram; импорт pl.tecna.gwt.connectors.client.SectionDecoration; импорт pl.tecna.gwt.connectors.client.Shape;

import com.google.gwt.user.client.ui.AbsolutePanel; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Image; import com.smartgwt.client.widgets.Label;

общественного класса NetworkMap {

общественного NetworkMap() { AbsolutePanel виджет = новый AbsolutePanel();

final Diagram diagram = new Diagram(widget); 

    final Label label = new Label("LABEL"); 

окончательное изображение изображения = новое изображение ("http://code.google.com/images/code_sm.png"); image.setPixelSize (153, 55);

widget.add (label, 50, 250); widget.add (изображение, 200, 300);

Форма форма ForLabel = новая Форма (ярлык); shapeForLabel.showOnDiagram (диаграмма);

Форма форма ForImage = новая форма (изображение); shapeForImage.showOnDiagram (диаграмма);

ConnectionPoint labelConnectionPoint = shapeForLabel.connectionPoints [Shape.E]; ConnectionPoint imageConnectionPoint = shapeForImage.connectionPoints [Shape.W];

Connector label2image = new Connector 
    (labelConnectionPoint.getAbsoluteLeft(), 
        labelConnectionPoint.getAbsoluteTop(), 
        imageConnectionPoint.getAbsoluteLeft(), 
        imageConnectionPoint.getAbsoluteTop(), 
        null, 
        new SectionDecoration(SectionDecoration.DECORATE_ARROW)); 

label2image.startEndPoint.glueToConnectionPoint(labelConnectionPoint); 
label2image.endEndPoint.glueToConnectionPoint(imageConnectionPoint); 

label2image.showOnDiagram(diagram); 
    /* // Create boundary panel 

AbsolutePanel boundaryPanel = новый AbsolutePanel();

initWidget (borderPanel); borderPanel.setSize ("700px", "700px"); RootPanel.get(). Add (borderPanel, 10, 10);

окончательная диаграмма диаграммы = новая диаграмма (borderPanel);

borderPanel.add (новый ярлык («Пример разъемов для GWT 1.7»), 10, 2);

// Добавить некоторые элементы, которые могут быть подключены final Label label = new Label ("LABEL"); (http://code.google.com/images/code_sm.png); image.setPixelSize (153, 55);

borderPanel.add (label, 50, 250); borderPanel.add (изображение, 200, 300);

Форма форма ForLabel = новая Форма (ярлык); формуForLabel.showOnDiagram (диаграмма);

Форма форма ForImage = новая форма (изображение); shapeForImage.showOnDiagram (диаграмма);

// Подключить ярлык и изображение ConnectionPoint labelConnectionPoint = shapeForLabel.connectionPoints [Shape.E]; ConnectionPoint imageConnectionPoint = shapeForImage.connectionPoints [Shape.W];

Connector label2image = new Connector 
    (labelConnectionPoint.getAbsoluteLeft(), 
        labelConnectionPoint.getAbsoluteTop(), 
        imageConnectionPoint.getAbsoluteLeft(), 
        imageConnectionPoint.getAbsoluteTop(), 
        null, 
        new SectionDecoration(SectionDecoration.DECORATE_ARROW)); 

label2image.startEndPoint.glueToConnectionPoint(labelConnectionPoint); 
label2image.endEndPoint.glueToConnectionPoint(imageConnectionPoint); 

label2image.showOnDiagram(diagram); 
*/ 

}

}

ответ

0

Насколько я понимаю, вы пытаетесь поставить NetworkMap в окно виджета. Класс NetworkMap должен реализовать интерфейс Composite, чтобы он рассматривался как виджет и отображался в окне, панели и т. Д. После реализации интерфейса Composite вам необходимо вызвать функцию initWidget(), предоставив основную панель/который содержит ваши виджеты внутри вашего класса NetworkMap (вы это сделали). Поэтому вам нужно писать;

public class NetworkMap extends Composite { ... } 
Смежные вопросы