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

고객지원

기술문의

JViews IlvManagerView 관련 질문

  • 정진
  • 2003.05.30
  • 조회수 1,921
안녕하세요..

JView 5.0 JDK 1.3.1을 사용해서 applet으로 개발을 하고 있습니다.

제가 현재 보여지고있는 view 가.. 전체 view에서 어느 위치인지에 대한 정보가 필요합니다.
그러니깐.. zoom 을 하던가 했을 경우 전에 view의 크기에서 현재 보여지는 부분의 위치 정보가 필요한데 어떻게 하면 가져올수가 있나요?

답변 부탁드립니다... 수고하세요..

댓글 2

  • LechuckRoh2003-06-04
    답변이 늦어서 죄송합니다..

    현재 화면에 보여지고 있는view는 IlvManagerView에서 관리를 하며,
    IlvManager의 좌표를 화면에 보여지는 좌표로의 IlvTransformer
    에서 2차원 변환행렬식에 의해서 이루어지는데,
    화면에 보이는 좌표를 역으로 IlvManager상의 좌표로 바꾸려면
    역변환행렬식을 사용하면 됩니다.

    일단 현재 보이는 view의 영역은 좌상단은 항상 (0,0)이 되고
    우하단의 좌표는 IlvManagerView.getSize()를 하면 알수 있습니다.

    IlvDim dim = mgrview.getSize();
    IlvRect rect = new IlvRect(0f, 0f, (float)dim.getWidth(), (float)dim.getHeight());

    다음엔 이 영역을 역변환 시키면 원래 좌표를 구할 수 있습니다.

    IlvTransformer t = mgrview.getTransformer();
    if (t != null)
    t.inverse(rect);

    이제 rect의 값을 보시면 원하는 값이 들어가 있습니다.
    아이콘삭제
  • LechuckRoh2003-06-04
    답변이 늦어서 죄송합니다..

    현재 화면에 보여지고 있는view는 IlvManagerView에서 관리를 하며,
    IlvManager의 좌표를 화면에 보여지는 좌표로의 IlvTransformer
    에서 2차원 변환행렬식에 의해서 이루어지는데,
    화면에 보이는 좌표를 역으로 IlvManager상의 좌표로 바꾸려면
    역변환행렬식을 사용하면 됩니다.

    일단 현재 보이는 view의 영역은 좌상단은 항상 (0,0)이 되고
    우하단의 좌표는 IlvManagerView.getSize()를 하면 알수 있습니다.

    IlvDim dim = mgrview.getSize();
    IlvRect rect = new IlvRect(0f, 0f, (float)dim.getWidth(), (float)dim.getHeight());

    다음엔 이 영역을 역변환 시키면 원래 좌표를 구할 수 있습니다.

    IlvTransformer t = mgrview.getTransformer();
    if (t != null)
    t.inverse(rect);

    이제 rect의 값을 보시면 원하는 값이 들어가 있습니다.
    아이콘삭제

댓글 입력