2011-12-14 20 views
5

मेरे पास जेपीओपअपमेनू के अंदर एक JComboBox (अन्य घटकों के बीच) है। यह पता चला है कि जब भी मैं कॉम्बो बॉक्स के पॉपअप (किसी आइटम का चयन करने के लिए) खोलता हूं, तो मूल जेपीओपमेनू बंद हो जाता है। मैं इस सुविधा को ओवरराइड करने का कोई तरीका खोजने का प्रयास नहीं कर रहा हूं, इसका कोई फायदा नहीं हुआ।जेपीओपअपमेनू बंद हो जाता है जब बच्चे पॉपअप खुलता है

क्या किसी के पास माता-पिता जेपीपुपमेनू को बंद करने से रोकने के लिए कोई सुझाव है? धन्यवाद!

उत्तर

4

संभव सीधे, इसकी बहुत मुश्किल नहीं जाना जाता bug, अन्य हाथों में ओवरराइड करने के लिए है कि स्विंग एक ही समय

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

में दो lightwieght पॉपअप घटकों की अनुमति देता है नहीं करता, लेकिन वैकल्पिक हल बहुत आसान उपयोग JWindows या अन-सजाया है JDialogJComboBoxJPopup

+0

दुर्भाग्य से, मुझे लगता है कि आप सही हैं। मुझे उपयोग करने के लिए एक और उपयुक्त घटक खोजने की आवश्यकता होगी (JComboBox के अलावा)। – Sam

+0

हम्म क्या आपने सुना है कि स्वतः पूर्ण JTextField http://stackoverflow.com/a/7255918/714968 – mKorbel

संबंधित मुद्दे