암호 대화 상자를 표시하는 애플릿을 작성해야합니다. 문제는 대화 상자가 항상 맨 위에 있도록 설정되어 있지만 사용자가 IE 창 대화 상자를 클릭해도 IE 창 뒤에 숨겨집니다. 그리고 대화 상자가 모달이고 이후에 보유하고 있습니다. 모두 IE 스레드 IE 창이 새로 고치지 않고 대화 상자 창은 여전히 IE 상단에 그려집니다 (새로 고치지 않음). 이 동작은 사용자를 혼란스럽게합니다 (은 IE 상단의 대화 상자를 참조하십시오. 그러나 새로 고침되지 않으므로 중단 된 것 같습니다).사용자가 IE 창을 클릭하면 IE의 모달 대화 상자가 IE 뒤에 숨겨집니다.
그래서 모든 것을 맨 위에 표시하는 방법이 필요합니다. 그러나이 문제에 대한 다른 해결책은 좋을 것입니다.
PassDialog dialog = new PassDialog(parent);
/* do some non gui related initialization */
dialog.pack();
dialog.setLocationRelativeTo(null);
dialog.setAlwaysOnTop(true);
dialog.setVisible(true);
해상도 :
여기에 코드입니다 @shemnon가 언급 한 바와 같이 내가 대신 모달 대화 상자의 (널 (null), 프레임, 애플릿) 부모의 창을 만들어야합니다. 부모를 initlialize하는 그래서 좋은 방법이었다 : (예에 대한 http://www.raditha.com/java/mayscript.php 참조)
parent = javax.swing.SwingUtilities.getWindowAncestor(theApplet);
그럼 JOptionPane.getRootFrame과 같은 것을했습니다. 나는 먼저 그것을 들여다 볼 것이다. –
Worked - thanks. –