2013-10-01 14 views
6

JDialog'u görev çubuğunda göstermek için aşağıdaki kodu kullanıyorum ve JDK 1.6'da mükemmel çalışıyor.Görev çubuğunda JDialog gösteriliyor Çalışmıyor

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); 
    } 
} 

Ama yöntemi kullanarak modalite türünü ayarlıyorum zaman

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); 
    } 
} 

iki kodları betwwen fark nedir

Çalışmıyor mu? Bu yöntemi kullanarak çözmek için herhangi bir yolu var mı?

+1

İyi bir soru, Java 7/Win 7 ile aynı (ikinci durumda bir görev çubuğu düğmesi yok), bir JDK hatası gibi görünüyor. – lbalazscs

cevap

6

Sorun, tarihi nedenlerden dolayı null içeriyorsa JDialog belirli kurucuların bir sahtekar çerçeve sahibi oluşturmasıdır. Ancak, Dialog, bir üst düzey pencere gibi görünmek için ürününün sahibi olmamalıdır. Yani çalışacaktır.

+0

Ya .. Teşekkürler @Holger – Nikhil