ユーザーが画面に触れたときにダイアログを表示していて、ユーザーがダイアログの外のどこかに触れたときにダイアログを破棄したい。に設定setDisposeWhenPointerOutOfBounds()
しましたtrue
が、デフォルトではそうです。そして、イベントで次のコードを書きましたpointerReleased()
が、ユーザーがダイアログの外で画面に触れるたびに、ダイアログは破棄されますが、x、y がダイアログ内にある場合にのみ実行されるコードを実行する必要はありません。
public void pointerReleased(int x, int y) {
dispose();
if (contains(x, y)) {
actionCommand((cmds[l.getSelectedIndex()]));
}
}