내 스윙 기반 Java 응용 프로그램에 스윙 응용 프로그램 프레임 워크 JSR (296)을 사용하고 있습니다.스윙 응용 프로그램 프레임 워크에서 창 닫기
AboutBox와 비슷하게 @Action의 사용법을 따라하고 일부 JDialog 클래스를 프로젝트에 추가했습니다.
메인 프레임을 닫으면 내 응용 프로그램이 백그라운드에서 계속 실행됩니다.
protected void configureWindow(java.awt.Window root) {
root.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
// write your code here
Application.getInstance(MyApp.class).exit();
}
});
}
을하지만이 수정과 나는이 (AboutBox 포함) 대화 상자가, 또한 메인 프레임을 닫 종료 할 때마다 : 는 내 기본 응용 프로그램 클래스의 configureWindow()에 코드를 다음 추가이를 극복합니다.
전체 응용 프로그램이 종료되지 않도록하고 대화 상자를 닫으려면 어떻게해야합니까?
업데이트 : 나는 스윙 응용 프로그램 프레임 워크 프로젝트를 만들 수 있습니다 넷빈즈 IDE 7.01를 사용하고 있습니다. 아래 그림과 같이 이 프로젝트의 골격을 생성
MyApp
|--myapp
| |--MyApp.java
| |--MyAppAboutBox.java
| |--MyAppView.java
|
|--myapp.resources
|--MyApp.properties
|--MyAppAboutBox.properties
|--MyAppView.properties
넷빈즈 IDE는 창 -> 등록 정보 메뉴에서 작업을 추가 할 수 있습니다.
MyApp 클래스는 내 메인 클래스 인 org.jdesktop.application.SingleFrameApplication을 확장합니다.
MyAppView extends FrameView
내 주요보기입니다.
구현 클래스 javax.swing.JDialog
은 myapp.view
패키지에 있습니다.
http://www.jroller.com/tackline/entry/closing_dialogs_on_escape를보고 그가 대화를 닫는 방법을 확인하십시오. –
고마워, 내가 여기있는 것 같아, org.jdesktop.application.SingleFrameApplication의 configuerWindow() 구현에 문제가있다. – JoeYo
흠 .. sscce를 보지 않고서는 아무것도 할 수 없다. (참고 : 독립 실행 형 Netbeans에 대한 종속성은 포함하지 않았다. - 주 창을 닫으면 모든 관련/보조 창/대화 상자가 기본적으로 닫히고 수동으로 수행하지 않아야합니다. – kleopatra