많은 타일 (800x800 텍스처)을 보유 할 사용자 지정 구성 요소 GameViewCanvas extends JPanel
이 있습니다. 이제 GameViewCanvas에서 paint()
메서드를 재정의하여 변형 된 캔버스 (확대/축소, 회전 및 회전)에서 자식을 칠하도록합니다.스윙 : 변형 된 부모의 자식 구성 요소에 이벤트 위임
이제 MouseEvent 및 MouseMotionEvent와 같은 이벤트를 각 자식에게 위임하려고합니다. 물론 스윙은 자식이 실제 프레임에 어디에 있는지 알지 못합니다. 부모님의 getComponentAt
같은 메소드를 재정의 (override) 할 수있을 것이라고 생각했지만, 그런 행운은 없습니다. Swing이 아이들을 직접 루핑한다는 것을 알았습니까?
어쩌면 나는이 모든 잘못에 대해 갈 것이므로 조언을 부탁드립니다. 미리 감사드립니다.
흥미로운 질문으로 알려진 자바 7의 공식적 부분이다. 나는 해결책을 모른다. 그러나 이것이 내 문제라면 Swing 소스 코드를 검색하여 이것이 단서를 줄 수 있는지 알아 보겠다. –
Google 'JXLayer'(Java 7의 'JLayer'). 이것은 방금 물어 본 것과 같습니다. 그들이 인터넷에서 사라졌기 때문에 나는 여기에 모든 예제를 제공했다. (https://www.dropbox.com/s/re1hmvypp19oqy1/JXLayer-PBJar-Demo.zip) – MadProgrammer