DragSourceContext

DragSourceContext (드래그 소스 컨텍스트)

드래그 앤 드롭 프로토콜의 시작(initiator) 측을 관리하는 클래스입니다.

출처: Java API Reference

본문

public class DragSourceContext extends Object implements DragSourceListener , DragSourceMotionListener , Serializable

특히 DragSourceListenerDragSourceMotionListener에게 드래그 이벤트 알림을 보내고, 드래그 작업의 소스 데이터를 나타내는 Transferable을 제공하는 역할을 합니다.

DragSourceContext 자체가 DragSourceListenerDragSourceMotionListener 인터페이스를 구현한다는 점에 주의하세요. 이는 DragSource가 만든 플랫폼 피어(DragSourceContextPeer 인스턴스)가 진행 중인 작업의 상태 변화를 DragSourceContext에 알릴 수 있게 하기 위함이며, 이를 통해 DragSourceContext가 플랫폼과 드래그 작업 시작자가 제공한 리스너 사이에 끼어들 수 있습니다.

기본적으로 DragSourceContext는 현재 드래그 앤 드롭 작업 상태에 맞게 커서를 설정합니다. 예를 들어 사용자가 move 동작을 선택하고 포인터가 move 동작을 수락하는 대상 위에 있으면 기본 move 커서가 표시되고, 전송을 수락하지 않는 영역 위에서는 기본 "no drop" 커서가 표시됩니다.

setCursor(java.awt.Cursor) 메서드로 사용자 지정 커서를 설정하면 이 기본 처리 메커니즘은 비활성화됩니다. 이때는 개발자가 DragSource 이벤트를 수신하고 setCursor()를 호출해 커서를 최신 상태로 유지할 책임이 있습니다. 또는 DragSourceDragSourceContext 클래스의 사용자 지정 구현을 제공해 커서 동작을 커스터마이즈할 수도 있습니다.

더 알아보기 (Learn more)

Java 공식 API