2016-07-29 6 views
0

내 프로젝트에 2 개의 프레임이 있습니다. 1은 내 메인 프레임이고 두 번째 프레임은 버튼을 클릭하면 표시되는 프레임입니다.JFrame을 항상 맨 위에 설정하고 그 뒤에있는 모든 JFrame을 비활성화하십시오

버튼을 클릭하면 jframe.class가 표시됩니다. 여기

은 ... 내 버튼 액션에서 내 코드

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {           
     jframe jf = new jframe(); 
      jf.setVisible(true); 
      jf.setAlwaysOnTop(true); 
    } 

이 코드는 작동하지만 문제는 2 프레임이 표시되는 동안 메인 프레임 사용 안 함 또는 unclickable를 원하는 것입니다을 수행

JOptionPane과 같은 개념을 할 수 있습니까?

+2

페이지의 [복수 JFrames의 사용 : 당신은 JDialog를 사용하고 true로 JFrame의를 통과하면서 모달 설정의 인수로한다 :

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){ myFrame = new JFrame("Hello World"); modal = new JDialog(myFrame, "This is a modal!", true); modal.setVisible(true); modal.setLocationRelativeTo(null); //Center the modal } 

당신은 여기에 더 설명서를 찾을 수 있습니다 좋은/나쁜 연습?] (http://stackoverflow.com/q/9554636/418556) –

답변

6

본질적으로 모달에 대해 이야기하고 있습니다. ,

https://docs.oracle.com/javase/tutorial/uiswing/misc/modality.html

+0

어쩌면 내 질문은 이해하기 너무 나쁜 ... 죄송합니다 그것에 대해 ... –

+0

어쩌면 당신은 대답을 이해하지 못 하겠지만 이 요구 사항에 대해 많은 사람들이 제공하는 것과 동일합니다. 그것은 분명한 적합입니다. 내가 코멘트에 제공 한 링크를 따라 간다면, 다른 많은 가능성 중에서도 모달 대화 상자를 언급했음을 알 수 있습니다. –

+0

진실은 메인 jframe이 있고 마우스가 움직이지 않으면 자동으로 로그인 폼이 표시되고 메인 jframe이 비활성화됩니다. 내 말 뜻을 이해하기 바래. 내 나쁜 영어에 대해 유감 :-) –