- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经使用 Zest GraphViewer 一个多星期了,现在试图发现它可以为我的应用程序做些什么,但到目前为止我还无法让它的行为符合我的要求。
我希望有人可以指出我需要的资源,因为我在 Google 上找不到那么多有用的资源,或者可以告诉我我想要的东西是否可行。
版本
我在 RCP 项目的依赖项中有 Zest 核心 1.3.0 和 Zest 布局 1.1.0。这来 self 从 Zest 站点获取的下载站点。
要求
右键单击功能可能来自单个选择,因为我可以在任何地方弹出窗口,但它基于当前选定的节点,但我宁愿不这样做。
如果无法做到这一点,由于性质或我们的应用程序和用户,我可能还需要找到另一个具有此功能的基于 RCP/SWT 的图形绘制包。
如能就这些问题提供任何帮助,我们将不胜感激。
格伦 x
最佳答案
基于Zest tutorial by Vogella ,我想到了这个:
public static void main(String[] args) throws FontFormatException, IOException
{
Display display = new Display();
final Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
final Graph graph = new Graph(shell, SWT.NONE);
GraphNode node1 = new GraphNode(graph, SWT.NONE, "Jim");
GraphNode node2 = new GraphNode(graph, SWT.NONE, "Jack");
GraphNode node3 = new GraphNode(graph, SWT.NONE, "Joe");
GraphNode node4 = new GraphNode(graph, SWT.NONE, "Bill");
/* Context menu */
graph.addMenuDetectListener(new MenuDetectListener()
{
@Override
public void menuDetected(MenuDetectEvent e)
{
Point point = graph.toControl(e.x, e.y);
IFigure fig = graph.getFigureAt(point.x, point.y);
if (fig != null)
{
Menu menu = new Menu(shell, SWT.POP_UP);
MenuItem exit = new MenuItem(menu, SWT.NONE);
exit.setText("Hello! This is " + ((GraphLabel) fig).getText());
menu.setVisible(true);
}
else
{
Menu menu = new Menu(shell, SWT.POP_UP);
MenuItem exit = new MenuItem(menu, SWT.NONE);
exit.setText("Nothing here...");
menu.setVisible(true);
}
}
});
/* Lets have a directed connection */
new GraphConnection(graph, ZestStyles.CONNECTIONS_DIRECTED, node1, node2);
/* Lets have a dotted graph connection */
new GraphConnection(graph, ZestStyles.CONNECTIONS_DOT, node2, node3);
/* Standard connection */
new GraphConnection(graph, SWT.NONE, node3, node1);
/* Change line color and line width */
GraphConnection graphConnection = new GraphConnection(graph, SWT.NONE, node1, node4);
graphConnection.changeLineColor(shell.getDisplay().getSystemColor(SWT.COLOR_GREEN));
/* Also set a text */
graphConnection.setText("This is a text");
graphConnection.setHighlightColor(shell.getDisplay().getSystemColor(SWT.COLOR_RED));
graphConnection.setLineWidth(3);
graph.setLayoutAlgorithm(new SpringLayoutAlgorithm(LayoutStyles.NO_LAYOUT_NODE_RESIZING), true);
graph.addSelectionListener(new SelectionAdapter()
{
@Override
public void widgetSelected(SelectionEvent e)
{
System.out.println(e.item);
/* Make sure that only the newest item is selected */
graph.setSelection(new GraphItem[]{(GraphItem)e.item});
}
});
shell.pack();
shell.open();
shell.setSize(400, 300);
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
它支持单个节点/边缘选择、取消选择和按要求单击鼠标右键功能。
看起来像这样:
如果您使用本教程的 GraphViewer
示例并将其添加到 View
代码中,它仍然可以正常工作:
final Graph graph = viewer.getGraphControl();
graph.addSelectionListener(new SelectionAdapter()
{
@Override
public void widgetSelected(SelectionEvent e)
{
System.out.println(e.item);
graph.setSelection(new GraphItem[]{(GraphItem)e.item});
}
});
关于java - 向 Zest Graph 添加单选和上下文敏感的右键单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21698420/
是否有任何方法可以获取 Zest (Eclipse) 中图形的布局(节点、线条、弯点)坐标?我尝试了几种方法,使用与 Zest 一起提供的 Draw2D,但我不知道如何使 Zest 对象成为 Draw
我正在使用 org.eclipse.zest.core.viewers.GraphViewer.setLayoutAlgorithm 来设置布局算法。 我的问题是,当渲染图形时,节点绘制得非常靠近彼此
有可能以这样的方式结束: ServiceChild (class) extends (or only partial implements) Service and overrides say
我正在使用 RCP 和 ZEST 创建一个应用程序来可视化图形。我的问题是:是否可以缩放在 ZEST(任何 ZEST 或 RCP api 或插件)上绘制的图形? 提前致谢-拉 git 最佳答案 我查看
我想更改节点和连接的一些视觉属性。如何做得更好?我发现视觉信息应用于从 org.eclipse.zest.core.viewers.GraphViewer.getFactory() 返回的模型工厂。共
我有一个相当大的 ZEST 树,显示哈希树(Merkletree)。由于其大小和有限的可用空间,它被压缩得非常严重,您无法再阅读它: 因此,我希望能够占据比实际外壳更多的空间,并实现滚动/拖动选项来使
我正在尝试使用 JAVA 中的 ZEST 框架绘制图表。代码的预期工作如下: 1) Shell 设置为 FormLayout。 2) 使用 FormData 自定义添加了标签、文本框和按钮。 3) 在
本文整理了Java中org.mozilla.zest.impl.ZestBasicRunner类的一些代码示例,展示了ZestBasicRunner类的具体用法。这些代码示例主要来源于Github/S
我正在开发一个项目,我打算在 JAVA 中创建一个类,用它来创建一个图表。详细地说,我想创建 2 个接口(interface) - VERTEX 和 EDGE,每个接口(interface)都有 ad
我已经使用 Zest GraphViewer 一个多星期了,现在试图发现它可以为我的应用程序做些什么,但到目前为止我还无法让它的行为符合我的要求。 我希望有人可以指出我需要的资源,因为我在 Googl
我开发了一个 eclipse 插件,用于使用 GEF-Zest 生成图形。我正在使用 SpringLayoutAlgorithm 作为布局算法(我也尝试过其他布局),但节点和边缘仍然相互重叠,从而创建
本文整理了Java中org.mozilla.zest.core.v1.ZestResponse类的一些代码示例,展示了ZestResponse类的具体用法。这些代码示例主要来源于Github/Stac
本文整理了Java中org.mozilla.zest.core.v1.ZestLoopTokenStringSet类的一些代码示例,展示了ZestLoopTokenStringSet类的具体用法。这些
本文整理了Java中org.mozilla.zest.core.v1.ZestVariables类的一些代码示例,展示了ZestVariables类的具体用法。这些代码示例主要来源于Github/St
本文整理了Java中org.mozilla.zest.core.v1.ZestLoopTokenSet类的一些代码示例,展示了ZestLoopTokenSet类的具体用法。这些代码示例主要来源于Git
本文整理了Java中org.mozilla.zest.core.v1.ZestFieldDefinition类的一些代码示例,展示了ZestFieldDefinition类的具体用法。这些代码示例主要
本文整理了Java中org.mozilla.zest.core.v1.ZestLoopFile类的一些代码示例,展示了ZestLoopFile类的具体用法。这些代码示例主要来源于Github/Stac
本文整理了Java中org.mozilla.zest.core.v1.ZestLoopInteger类的一些代码示例,展示了ZestLoopInteger类的具体用法。这些代码示例主要来源于Githu
本文整理了Java中org.mozilla.zest.core.v1.ZestJSON类的一些代码示例,展示了ZestJSON类的具体用法。这些代码示例主要来源于Github/Stackoverflo
本文整理了Java中org.mozilla.zest.core.v1.ZestExpressionResponseTime类的一些代码示例,展示了ZestExpressionResponseTime类
我是一名优秀的程序员,十分优秀!