2013-08-22 1 views
1

Jpanel에서 이미지를 드래그하고 크기를 조정하는 응용 프로그램을 개발 중입니다.BufferedImage에 MouseMotionListener를 추가 할 수 있습니까?

이미지는 JLabel 내에 저장됩니다.

하지만 MouseMotionListener를 패널에 추가하면 전체 창이 드래그되고 MouseMotionListener를 추가하려고 할 때 크기를 조정할 이미지의 측면을 선택할 수 없습니다.

그래서 BufferedImage에 직접 MouseMotionListener를 추가 할 수 있습니까?

모든 구성 요소에 MouseMotionListener를 추가하면 이미지의 측면을 선택할 수 없습니다. 면은 축척 이미지의 모든 방향을 의미합니다.

창 :

 addMouseListener(handler); 
     addMouseMotionListener(handler); 

JLabel의 : 여기 MouseHandler

 label.addMouseListener(new MouseHandler()); 
     label.addMouseMotionListener(new MouseHandler()); 

mousePressed, mouseDragged, mouseMove 같은 다양한 작업에 정의 된 클래스 등이 이유

어떤 생각입니다 그렇게 행동하는거야?

+1

왜 MouseMotionListener를 JLabel에 두지 않습니까? – Gerret

+0

@Gerret - JLabel에 추가했습니다.하지만 JPLEL에 JLabel 및 Jlabel에 적용했기 때문에 이미지의 모서리 나 방향을 선택하려고 할 때 작동하지 않습니다. JLabel은 잘 모르겠습니다. –

+0

이미지를 패널에 직접 붙이는 것은 어떨까요 ... – Gerret

답변

1

BufferedImage은 일반적인 이미지 조작을 지원하는 클래스입니다. 그래픽 사용자 인터페이스가있는 대화식 프로그램과 사용자 인터페이스가없는 비 대화식 일괄 처리 프로그램에서 똑같이 사용할 수 있습니다. GUI에서 사용되지 않는 항목에 마우스 수신기가 있으면 의미가 없으므로 MouseMotionListenerBufferedImage에 추가 할 수 없습니다.

대신 이미지를 표시하는 GUI 구성 요소에 수신기를 추가해야합니다.

관련 문제