0

我在下面写了一个测试类,但我无法将它添加到 com.smartgwt.client.widgets.Window 中。

任何人都可以帮助我吗?提前致谢!

package com.smartgwt.sample.showcase.client;

进口pl.tecna.gwt.connectors.client.ConnectionPoint;导入 pl.tecna.gwt.connectors.client.Connector;导入 pl.tecna.gwt.connectors.client.Diagram;导入 pl.tecna.gwt.connectors.client.SectionDecoration;进口pl.tecna.gwt.connectors.client.Shape;

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

公共类网络地图{

公共 NetworkMap() { AbsolutePanel 小部件 = new AbsolutePanel();

    final Diagram diagram = new Diagram(widget);

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

最终图像 image = new Image(" http://code.google.com/images/code_sm.png "); image.setPixelSize(153, 55);

小部件.add(标签, 50, 250); 小部件.add(图像, 200, 300);

形状 shapeForLabel = 新形状(标签);shapeForLabel.showOnDiagram(图表);

形状 shapeForImage = 新形状(图像);shapeForImage.showOnDiagram(图表);

连接点 labelConnectionPoint = shapeForLabel.connectionPoints[Shape.E]; 连接点 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 边界面板 = 新的 AbsolutePanel();

初始化小部件(边界面板);边界面板.setSize("700px", "700px"); RootPanel.get().add(boundaryPanel, 10, 10);

最终图表图=新图表(边界面板);

boundaryPanel.add(new Label("GWT 1.7 的连接器示例"), 10, 2);

// 添加一些可以连接的元素 final Label label = new Label("LABEL"); 最终图像 image = new Image(" http://code.google.com/images/code_sm.png "); image.setPixelSize(153, 55);

边界面板.add(标签, 50, 250); 边界面板.add(图像, 200, 300);

形状 shapeForLabel = 新形状(标签);shapeForLabel.showOnDiagram(图表);

形状 shapeForImage = 新形状(图像);shapeForImage.showOnDiagram(图表);

// 连接标签和图像 ConnectionPoint labelConnectionPoint = shapeForLabel.connectionPoints[Shape.E]; 连接点 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);  
 */

}

}

4

1 回答 1

0

据我了解,您正在尝试将 NetworkMap 放入 Window 小部件中。NetworkMap 类需要实现 Composite 接口,才能将其视为小部件并显示在 Window、Panel 等中......一旦实现了 Composite 接口,您需要通过提供主面板来调用 initWidget() 函数/在 NetworkMap 类中包含您的小部件的布局(您已完成此操作)。因此你需要写;

public class NetworkMap extends Composite { ... }
于 2009-12-02T15:20:37.227 回答