2010-02-27 1 views
0

사용자가 화면을 터치하고 대화 상자 외부의 아무 곳이나 터치 할 때 대화 상자를 삭제하려면 대화 상자가 표시됩니다. 기본적으로 setDisposeWhenPointerOutOfBounds()true으로 설정했습니다. 그리고 pointerReleased() 이벤트에 다음 코드를 작성했지만 사용자가 대화 상자 외부의 화면을 터치 할 때마다 x, y가 대화 상자 내에있을 때만 실행되어야하는 코드를 실행하지 않고 대화를 처분합니다.터치 장치에 대화 상자 배치하기

public void pointerReleased(int x, int y) { 
    dispose(); 
    if (contains(x, y)) { 
     actionCommand((cmds[l.getSelectedIndex()])); 
    } 
} 

답변

1

버그가 contains(x,y)입니다. 문제가 해결 된 this.getContentPane.contains(x,y)으로 바 꾸었습니다.