2013-10-01 3 views
6

JDialog를 작업 표시 줄에 표시하는 데 아래 코드를 사용하고 있으며 JDK 1.6에서 완벽하게 작동합니다.작업 표시 줄의 JDialog가 작동하지 않습니다.

public class test8 { 
    public static void main(String[] args) { 
     Runnable r = new Runnable() { 
      public void run() { 
       JDialog d = new JDialog((Frame)null,Dialog.ModalityType.TOOLKIT_MODAL); 
       d.setTitle("title"); 
       d.setSize(300,200); 
       d.setVisible(true); 
       System.exit(0); 
      } 
     }; 
     EventQueue.invokeLater(r); 
    } 
} 

하지만이 방법을 사용하여 모달 유형을 설정있을 때 그것은

public class test8 { 
    public static void main(String[] args) { 
     Runnable r = new Runnable() { 
      public void run() { 
       JDialog d = new JDialog(); 
       d.setTitle("title"); 
       d.setSize(300,200); 
       d.setModalityType(Dialog.ModalityType.TOOLKIT_MODAL); 
       d.setVisible(true); 
       System.exit(0); 
      } 
     }; 
     EventQueue.invokeLater(r); 
    } 
} 

두 코드 betwwen 차이점은 무엇입니까

를 작동하지 않습니다? 방법을 사용하여이 문제를 해결할 수있는 방법이 있습니까?

+1

Java 7/Win 7 (두 번째 경우 작업 표시 줄 버튼 없음)과 마찬가지로 좋은 질문은 JDK 버그 인 것 같습니다. – lbalazscs

답변

6

특정 문제가있는 경우 인 경우 JDialog의 특정 생성자가 더미 프레임 소유자를 만드는 것이 문제입니다. 그러나 Dialog은 소유자가 최상위 창처럼 보이도록의 소유자가 있어서는 안됩니다. 나는.

JDialog d=new JDialog((Window)null); 
d.setModalityType(ModalityType.TOOLKIT_MODAL); 
d.setVisible(true); 

.

+0

예 .. 감사합니다 @Holger – Nikhil

관련 문제