private void loadDiagram(Field field) { if (field != null) { if (logger.isDebugEnabled()) logger.debug( String.format("draw field %s status:%s", field.name, field.getSelectedStatus())); SvgScene scene = new SvgScene(); scene.setZoom(owner.getZoomRate()); _Object target = field.getTarget(); if (target != null) { target.drawInternal(diagramPanel, scene, new Point(0, 0), getVM().getObjectRepository()); diagramPanel.setScene(scene); Element background = scene.getDocument().getElementById("background"); diagramPanel.addBackgroundPopupMenuListener((EventTarget) background); // use background node to capture mouse move event. otherwise // the // cursor could leave the object if you moving very fast. diagramPanel.addMouseMoveListener((EventTarget) background); } else { System.out.println("selected field is null"); } } }