2011-12-14 20 views
5

Bir JPopupBox (diğer bileşenler arasında) bir JPopupMenu içinde var. Açılan kutunun açılır penceresini (bir öğeyi seçmek için) açtığımda, ana JPopupMenu kapanır. Bu özelliği geçersiz kılacak bir yol bulmaya çalışıyorum, boşuna.JPopupMenu, çocuk pop-up açıldığında kapanır

Ebeveyn JPopupMenu'nun kapanmasını önlemek için herhangi bir öneri var mı? Teşekkürler!

cevap

4

doğrudan onun çok sert mümkün değildir Salıncak aynı anda

import javax.swing.*; 
import java.awt.event.*; 

public class Test { 

    public static void main(String[] args) { 
     JFrame frame = new JFrame(); 
     frame.setSize(400, 400); 
     frame.setVisible(true); 
     String[] list = {"1", "2", "3", "4",}; 
     JComboBox comb = new JComboBox(list); 
     final JPopupMenu pop = new JPopupMenu(); 
     pop.add(comb); 
     frame.addMouseListener(new MouseAdapter() { 

      @Override 
      public void mousePressed(MouseEvent e) { 
       System.out.println("mousePressed"); 
       pop.show(e.getComponent(), e.getX(), e.getY()); 
      } 
     }); 
    } 
} 

iki lightwieght açılan bileşenlerini verir vermez ama geçici çözüm dekore un-çok basit kullanım JWindows veya diğer elinde, bug bilinen geçersiz kılmak için bu,

+0

yerine, doğru olduğunu düşünüyorum. Kullanmak için başka bir uygun bileşen bulmam gerekecek (JComboBox dışında). – Sam

+0

hmmm duyuyor musunuz AutoCompleted JTextField http://stackoverflow.com/a/7255918/714968 – mKorbel