0

視覚化ツールキット Zest を使用してグラフを作成しています。まずグラフを作成し、次にノードを追加します。このノードにマウスのダブル クリック イベントを追加します。次のコードを試しましたが、うまくいきません。検証 e.button == 3 のせいですか?

[...]
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) {}
                    }
           }
});

ありがとうございました

4

1 に答える 1

0

MouseAdapteruntyped の代わりに使用してみてくださいListenermouseDoubleClick(MouseEvent e)そしてそのメソッドをオーバーライドします。

更新。どうですか

graph.addMouseListener(new MouseListener(){

     @Override
     public void mouseDoubleClick(MouseEvent arg0)
     {
          // TODO Auto-generated method stub
     }
     ...
}
于 2012-04-18T10:13:25.410 に答える