这个没有办法,你去看看JOptionPane的源码就知道了。
showConfirmDialog最后调用的函数是showOptionDialog,它在这个方法里面构造了一个JDialog,最后显示也是调用这个JDialog的,而这下JDialog没有设置setDefaultCloseOperation,也就是它默认的setDefaultCloseOperation是HIDE_ON_CLOSE,而不是DO_NOTHING_ON_CLOSE,所以你是没有办法通过设置参数来改变,当然你可以通过继承JOptionPane来改变showOptionDialog的方法体是可以做到的。