주메뉴 바로가기 본문 바로가기 하단 바로가기

고객지원

기술문의

차트영역에서 좌표영역 값 가져오기

  • 유광용
  • 2012.01.17
  • 조회수 1,911
안녕하세요..
아래와 같이 차트에 랜더러 차트를 그리지 않고 데코레이션으로 영역만 표시한경우
차트 영역( chart.getChartArea )에 마우스 리스너를 정의하여 차트 영역에서 마우스를 이동하거나 클릭시 마우스가 위치한 차트영역의 x, y 좌표값을 알수 있나요..?
아니면 마우스가 위치한 데코레이션 정보를 구할수 있는지 알고 싶습니다..

// 차트에 데코레이션 영역 표시
IlvDataWindow dataWindow = null;
dataWindow = new IlvDataWindow(fromValue, toValue, chart.getYAxis(0).getDataMin(), chart.getYAxis(0).getDataMax());
IlvDataInterval inter = new IlvDataInterval(fromValue, toValue);
IlvDataIndicator weInd = new IlvDataIndicator(0 , dataWindow, itmeName);
weInd.setStyle(new IlvStyle(Color.white, color ));
chart.addDecoration(weInd);

// 차트 영역에서 마우스 이동에 따른 차트 정보 구하기
chart.getChartArea().addMouseListener(this);
chart.getChartArea().addMouseMotionListener(this);

public void mouseMoved(MouseEvent e)
{
chartArea = (IlvChart.Area)e.getSource();
System.out.println("마우스 무브 이벤트 실행 ==> "+e.getX()+" / "+e.getY());
// 여기서 마우스가 위치한 차트영역의 좌표나 데코레이션 정보를 알고 싶습니다.
}

바쁘시겠지만 빠른 답변 부탁드리겠습니다..
수고하세요..

댓글 1

  • 방효동2012-01-17
    네, 위와 같이 하면 차트내의 좌표를 얻을 수 있습니다.
    Insets insets = chart.getChartArea().getMargins();
    위의 API를 이용하면 보다 정확히 값을 얻을 수 있습니다.
    참조 Class : IlvChart.Area
    아이콘삭제

댓글 입력