2010-02-28 18 views
0

J'ai un JInternalFrame dans un JDesktop, et j'ai aussi un JComboBox dans le cadre interne. Le problème est illustré ci-dessous.La liste déroulante JCombobox n'est pas complètement peinte

problem http://i46.tinypic.com/kamfs8.jpg

Comment puis-je faire JComboBox peinture à l'extérieur JInternalFrame, de sorte que la liste déroulante peut être affichée complètement? Est-ce que l'utilisation de la vitre est solution optimale, ou serait-ce mauvaise pratique?


SOLUTION: J'ai trouvé la solution; juste remplacer la méthode getSize() de JComboBox:

class MyComboBox extends JComboBox{ 

    public Dimension getSize(){ 
     return new Dimension(..); 
    } 
} 

Répondre

1

Je vais essayer d'appeler setLightWeightPopupEnabled(false) sur le JComboBox avant de tenter quoi que ce soit avec la vitre.

+0

Malheureusement, ça n'a pas marché .. Je l'utilise comme suit: MyComboBox classe étend JComboBox { MyComboBox public() { setLightWeightPopupEnabled (false); } } –