1

마우스를 위로 올리면 (자), 몇개의 코드 (doSomething() 메소드)를 실행하고 싶은 treeViewer가 있습니다. 아래로 마우스. 다음 코드는 selectionlistener가 이미 트리거되어 마우스 다운이 트리거 된 경우에도이를 실행합니다. 정확한 행동을 취하기 위해 무엇을해야합니까?일식 TreeViewer에서 키보드로 화살표 키로 welll뿐만 아니라 마우스로 이벤트를 트리거하는 방법

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() 
     } 
    }); 
+0

선택을 변경하지 않는 MouseUp 이벤트를 만들 수있는 대상은 무엇입니까? –

답변

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"); 

     } 
    });