Java 놈이 여기 있습니다. JDialog
을 확장하는 My Swing 클래스는 사용자가 Windows 닫기 단추를 누를 때 처리되지 않습니다. java.exe는 메모리에 있습니다. 이 셸 바로 아래에서 코드를 제거 했으므로이 동작을 계속 얻습니다. Java 대화 상자가 처리되지 않습니다.
System.exit(0)
라인에서 주석 때
Basic Java Swing, how to exit and dispose of your application/JFrame
에서 다른 샘플에서 살펴 보았다, 그 샘플의 클래스는 여전히 제대로 배치. 수업을 취소하기 위해 무엇을 놓치고 있습니까?
import javax.swing.JFrame;
import javax.swing.JDialog;
public class WhyNoDispose extends JDialog{
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
WhyNoDispose frame = new WhyNoDispose("my title");
frame.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
frame.setVisible(true);
//System.exit(0);
}
catch (Exception e) {
e.printStackTrace();
}
}
});
}
public WhyNoDispose(String title) {
super(new JFrame(title), ModalityType.APPLICATION_MODAL);
pack();
}
}
'frame.setDefaultCloseOperation (의 JFrame.EXIT_ON_CLOSE) ; – Aarowaim