0

我正在开发一个 Eclipse RCP 应用程序来对图形进行可视化建模。为此,我正在使用GEF4 Zest JFace库(或捆绑包)。使用的策略涵盖了许多必要的功能,但我需要添加一个额外的视觉元素:带有图形名称和简短描述的 VBox(或面板)。这不是一个图形节点,所以我把它放在了 ZestContentViewer 的 Canvas Overlay Group 中。

final Group canvasOverlay = ui.getGraphViewer().getFXViewer().getCanvas().getOverlayGroup();
            canvasOverlay.getChildren().add(metaPanel);

该方法ui.getGraphViewer返回 ZestContentViewer,它metaPanel是包含 javafx TextFields 的 VBox。

一切正常,直到我在 TextFields 中写了一些东西。当我按下其中一个箭头键时,包含画布的滚动窗格也会被触发(滚动)。同样,当我拖动 metaPanel 时,也会启动一个矩形选择。有没有办法来解决这个问题?我不确定这是放置组件的正确位置,但我没有任何其他想法。

4

1 回答 1

1

如相应论坛帖子中所述,您可以交换 ITargetPolicyResolver 并阻止处理已由“元”面板处理的事件。

于 2016-09-19T15:43:34.297 回答