Когда вы создаете новый JFrame
таким образом (как вы упомянули), , тогда frame.dispose()
не будет работать , так как на статический метод нельзя ссылаться из статическогоcontext.
Поскольку вы закрываете основной кадр, а не какой-либо внутренний кадр,
Для специальной утилизации этого кадра:
this.dispose();
Вы также можетевыполните выход, если хотите, выполните работу следующим образом:
System.exit(0);
Для специальной утилизации этого кадра добавьте еще одну инструкцию к функции закрытия с помощью инструкции кода:
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
/*an import required for this--> import javax.swing.WindowConstants;*/
Это закрывает основную раму (не то же самое, что удаление внутренней рамы!).