По умолчанию нажатие кнопки в JOptionPane
закроет диалоговое окно.Если это не так, это потому, что вы используете реальные компоненты, а не строки или другие объекты, и он вызывает собственные обработчики событий ваших кнопок вместо своих собственных.
Я бы порекомендовал вам использовать другой подход,используя строки вместо кнопок.Используйте массив кнопок в качестве входных значений, и когда возвращается вызов showInternalOptionDialog
, вы можете проверить индекс int, чтобы выяснить, что было нажато, а затем включить его в своем коде.Таким образом, вам совсем не нужно прикасаться к JOptionPane
, и он закроется сам.