2013-08-07 3 views
2

좌표 e.getX() 및 e.getY()있는 mouseMoved (MouseEvent e) 메서드가 있습니다. 이제 마우스가 꼭지점 위에 있는지 확인하고 싶습니다. 이것을 할 수있는 방법이 있습니까?JGraphX ​​: 마우스 좌표로 버텍스를 얻으려면 어떻게해야합니까? (mouseMoved 메서드)

셀 (정점)이 선택되어 있는지 확인하고 싶지 않습니다. 마우스가 하나의 정점 위에 있는지 만 확인하고 싶습니다.

mGraph = new mxGraph(); 

// create vertexes ... 

mGraphComponent = new mxGraphComponent(mGraph); 

//mGraphComponent.getGraphControl().addMouseMotionListener(new MouseAdapter() { 
mGraphComponent.getGraphControl().addMouseMotionListener(new mxMouseAdapter() { 
    @Override 
    public void mouseMoved(MouseEvent e) 
    { 
     System.out.println(Integer.toString(e.getX()) + " " + 
      Integer.toString(e.getY())); 

     // here I want to check if the mouse position is over a cell 
     // I only want to check if the mouse is over one (or more?) cells 
    } 
} 
); 

mPanel.add(mGraphComponent); 

답변

2

은 당신과 같이이 작업을 수행 할 수 있습니다

Object cell = mGraphComponent.getCellAt(e.getX(), e.getY(), false); 

셀은 mxCell해야하며, 다음 model.isVertex() 또는 model.isEdge()를 사용할 수 있습니다.

관련 문제