这个问题搜了很久都没找到,我怀疑全网就我一个能遇到这种奇葩问题
自定义JDialog后,每当关闭对话框,JFrame的菜单一打开就无法关闭,我顺藤摸瓜探索了很久,发现JDialog不能重复地进行LAF的设置,JDialog本来就沿用的父级容器(JFrame)的LAF,因此这两行代码画蛇添足,从自定义的JDialog类中去掉就解决了。至于为什么会产生这种奇葩问题,可能要问到swing的编写人员了…解决就好
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
SwingUtilities.updateComponentTreeUI(this);