当用户触摸屏幕时,我正在显示一个对话框,并希望在用户触摸对话框外的任何位置时对话框进行处理。我已将setDisposeWhenPointerOutOfBounds()
设置为true
,但默认情况下是这样。我在pointerReleased()
事件中编写了以下代码,但只要用户触摸对话框外的对话框,对话框就会处理,但不会执行只有当x,y在对话框中时才应执行的代码。
public void pointerReleased(int x, int y) {
dispose();
if (contains(x, y)) {
actionCommand((cmds[l.getSelectedIndex()]));
}
}
答案 0 :(得分:1)
错误在检查contains(x,y)
。我将其替换为this.getContentPane.contains(x,y)
并修复了问题