0
我使用可视化工具包Zest创建一个图形。我从创建一个图开始,然后添加一个节点。我想添加到这个节点的鼠标双击事件。我尝试了下面的代码,但它不起作用。是否因为验证e.button == 3?在AddListener中添加一个新的监听器
[...]
Graph graph = new Graph(parent, SWT.BORDER);
graph.addListener(SWT.MouseDown, new Listener() {
public void handleEvent(Event e) {
if (e.button == 3) {
Menu menu = new Menu(parent);
final MenuItem a1 = new MenuItem(menu, SWT.None);
a1.setText("New Node");
a1.addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent e) {
GraphNode graphNode = new GraphNode(graph, SWT.NONE);
graphNode.addListener(SWT.MouseDoubleClick, new Listener
(
@Override
public void handleEvent(Event event) {
System.out.println("node created");});
@Override
public void widgetDefaultSelected(SelectionEvent e) {}
}
}
});
谢谢
我试着用这一点,我有这个消息: 在类型插件的方法的addListener(INT,监听器)是不适用的参数(INT,新MouseAdapter(){}) – user1338839 2012-04-18 12:00:31
包中的一个:org.eclipse.draw2d.MouseListener?它要求我将GraphNode投射到Ifigure! 我以前试过,但我无法再拖动我的节点了!因为我要重写以下方法: - 公共无效mouseDoubleClicked(org.eclipse.draw2d.MouseEvent为arg0){} - 公共无效的mousePressed(org.eclipse.draw2d.MouseEvent为arg0){} - 大众void mouseReleased(org.eclipse.draw2d.MouseEvent arg0){} – user1338839 2012-04-18 13:01:51
我想,Alex的意思是swt MouseAdapter类。 – 2012-06-09 11:14:59