1

マウスダウンではなく、マウスアップが押されたときにのみコード(doSomething()メソッド)を実行したいツリービューアーがあります。次のコードは、selectionlistener が既にトリガーされているため、マウス ダウンがトリガーされた場合でも実行します。正確な動作を得るにはどうすればよいですか?

    treeViewer.getTree().addMouseListener(new MouseListener() {

        @Override
        public void mouseUp(MouseEvent e) {
            doSomething()
        }

        @Override
        public void mouseDown(MouseEvent e) {
            // nothing happens
        }

        @Override
        public void mouseDoubleClick(MouseEvent e) {
            // nothing happens
        }
    });

    treeViewer.addPostSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            doSomething()
        }
    });
4

1 に答える 1

0

ビューアーが TreeViewer であると仮定して、これを試してみてください。ただし、マウスが別のコントロールで操作された場合は機能しません。

viewer.getTree().addMouseListener(new MouseListener() {
        @Override
        public void mouseDoubleClick(MouseEvent e) {
            // TODO Auto-generated method stub

        }
        @Override
        public void mouseDown(MouseEvent e) {
            // TODO Auto-generated method stub

        }
        @Override
        public void mouseUp(MouseEvent e) {
            // TODO Auto-generated method stub
            System.out.println("Mouse UP");

        }
    });
于 2013-06-22T12:46:45.063 に答える