2013-05-17 3 views
0

두 개의 별도 JFrame이 있습니다. 그러나 하나의 꼭지점에서 X를 클릭하면 다른 JFrame도 종료됩니다. setVisible (false)를 수행하기 위해 아래쪽에 "exit"버튼이 있지만 x 버튼을 사용하는 경향이 있습니다. 어떻게하면 프로젝트 전체에서 취소되지 않을까요? 또한두 개의 JFrame 종료 중 하나에서 나가기

, 두 번째 JFrame의 전까지 다른 JFrame의 중 두 번째 JFrame의 잠금 팝업 메시지가 당신의 GUI 두 JFrames를 포기하지 마십시오

답변

4

를 작동하는 방법처럼 닫히도록 내가 그것을 만들 것입니다 방법에 대해 설명합니다. GUI는 이상적으로 하나의 GUI만을 가져야합니다. 별도의 창이 필요하면 JDialog와 같은 대화 상자로 만드십시오. 다른 JFrame의 중 두 번째 JFrame의 잠금이 두 번째 JFrame의 전까지 팝업 메시지가

당신은 완벽의 동작을 설명하는 작동 방법처럼 닫히도록 또한

은, 내가 어떻게 그것을 만들 것 모달 JDialog 또는 JOptionPane 그냥 사용해라.

나중에 우리는 하나의 GUI에서보기를 바꾸기 위해 CardLayouts를 사용하는 것에 관해 이야기 할 것입니다.


편집, 당신은 상태 : 임 빠르게을 만들 넷빈즈에게 양식 편집기를 사용하지만, 난 단지 JFrame의와 JPanel을 참조

. Netbeans에서 편집 할 수 있습니까? 스크래치로하지 말라. Java

다른 열렬한 믿음을 가지고, 라이브러리를 학습 할 때 코드를 사용하지 않는 또 다른 이유가 너무 많아서 코드 생성기는 라이브러리를 학습하지 못하도록합니다. 자습서와 API를 참고하여 코드 생성 도구를 별도로 준비하고 직접 작성하는 것이 좋습니다. 그런 다음 나중에 라이브러리에 익숙해지면 도구를 사용하십시오. 그런데 직접적인 질문에 대한 대답은 GUI에서 JPanels를 만들도록 유도 한 다음이 JPanels를 JFrame 또는 JDialogs 또는 JOptionPanes에서 사용하거나 CardLayouts 또는 JTabbedPanes 또는 다른 JPanel에 중첩 된 등 ...

+1

+1 전적으로 동의합니다. –

+0

@ Eng.Fouad : 감사합니다! –

+0

Im Netbeans 폼 편집기를 사용하여 더 빨리 만들었지 만 JFrame과 JPanel 만 볼 수 있습니다. Netbeans에서 편집 할 수 있습니까?나는 스크래치를 통해 그들을하지 않을 것입니다. – Arhowk

1

JDialog는 작업 표시 줄에 다른 창 표시 줄을 추가하지 않는 등의 특정 기능을 제공하므로 두 번째 JFrame이 아닌 모달 JDialog를 사용해야합니다. 부모 JFrame이 포커스를받습니다. 모달 JDialog는 JFrame이 열려있는 동안 사용자 입력을 차단합니다. "끝내시겠습니까?" 대화 상자를 엽니 다.

다른 JFrame을 끝내는 JFrame의 경우 기본 닫기 작업을 EXIT_ON_CLOSE로 설정했을 수 있습니다. 이렇게하면 :

jframe.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); 
jframe.addWindowListener(new WindowAdapter(){ 
    public void windowClosing(WindowEvent we){ 
     handleUserWantsToCloseWindow(); 
    } 
}); 

그런 다음 "변경 사항 저장?" 모달 JDialog 또는 "종료 하시겠습니까?" 모달 JDialog. 이 방법을 사용하면 JFrame을 수동으로 처리해야합니다.

관련 문제