title: Jcombobox not displayed correctly
body: <p>I'm trying to put a JComboBox on a Jpanel, if i clicked shows the contents of the combobox, but it was not showed. the content appears only if I move the cursor on top of it. the Jpanel contains a Jlabel with a picture and on top of it a Jcombobox.</p>
  
  <p><a href="https://i.stack.imgur.com/jWtSm.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/jWtSm.png" alt="Jcombobox"></a></p>
  
  <p>PanelRegionlACTEL:</p>
  
  <pre><code>package com.springJPA.vue.appACTEL;
  import java.awt.Color;
  import java.awt.Font;
  import java.awt.Graphics2D;
  import java.awt.Image;
  import java.awt.RenderingHints;
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  import java.awt.image.BufferedImage;
  import java.util.List;
  
  import javax.swing.DefaultComboBoxModel;
  import javax.swing.Icon;
  import javax.swing.ImageIcon;
  import javax.swing.JButton;
  import javax.swing.JComboBox;
  import javax.swing.JLabel;
  import javax.swing.JPanel;
  import javax.swing.JProgressBar;
  
  import org.springframework.context.ApplicationContext;
  import org.springframework.context.support.ClassPathXmlApplicationContext;
  
  import com.jd.swing.custom.component.button.StandardButton;
  import com.jd.swing.custom.component.jcombobox.MyComboBoxEditor;
  import com.jd.swing.custom.component.jcombobox.MyComboBoxRenderer;
  import com.jd.swing.util.Theme;
  import com.springJPA.domain.Numero;
  import com.springJPA.domain.Region;
  import com.springJPA.domain.Resedence;
  import com.springJPA.service.ActelsService;
  import com.springJPA.service.FonctionDAO;
  import com.springJPA.service.NumeroService;
  import com.springJPA.service.RegionService;
  import com.springJPA.service.ResedenceService;
  import com.springJPA.service.VilleService;
  import com.springJPA.vue.App;
  
  public class PanelRegionlACTEL extends JPanel {
  
      /**
       * 
       */
      private static final long serialVersionUID = -3805099295102746248L;
  
      public static JComboBox&lt;String&gt; comboBox_gouver;
      public static JComboBox&lt;String&gt; comboBox_ACTELS;
      public static JComboBox&lt;String&gt; comboBoxVille;
  
      private JButton okButton;
      private JButton cancelButton;
  
      private JProgressBar progressBar;
      int value = 0;
      int nbp = 0;
  
      public   int selectedIndexR;
      public   int selectedIndexA;
      public   int selectedIndexV;
  
      public JLabel labelR1;   
      public boolean tr=false;
      FonctionDAO fonctionDAO = new FonctionDAO();
  
      ApplicationContext context = new ClassPathXmlApplicationContext("application-context.xml");
      RegionService rgService = (RegionService) context.getBean("regionService");
      ActelsService atlService = (ActelsService) context.getBean("actelService");
      VilleService villeService = (VilleService) context.getBean("villeService");
      NumeroService numeroService = (NumeroService) context.getBean("numeroService");
      ResedenceService resedenceService = (ResedenceService) context.getBean("resedenceService");
  
      /*public static void main(String[] args)
  
         {
  
      try {
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
          }
          catch (Exception e) {
  
              System.out.println("Erreur LookAndFeel"+e);
          }
  
      try{
  
         new PanelAccueilACTEL(); 
  
         }catch (Exception e)  { 
             System.out.println("Erreur App: "+e);
             e.printStackTrace();  
             }
  
         }*/
  
      /**
       * Create the panel.
       */
      public PanelRegionlACTEL() {
  
          setLayout(null);
          setBorder(null);
          setOpaque(false);
          setBounds(0, 0, 803, 534);
          setBackground(new Color(0,0,0,0));
          setSize(803, 534);
          setVisible(true);
  
          JButton buttonQuitter = new JButton("");
          buttonQuitter.setIcon(new ImageIcon(PanelRegionlACTEL.class.getResource("/ap/s/tn/img/btn.PNG")));
          buttonQuitter.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent arg0) {
                  System.exit(0);
              }
          });
          buttonQuitter.setIcon(new ImageIcon(PanelLoginACTEL.class.getResource("/ap/s/tn/img/btn.PNG")));
          buttonQuitter.setOpaque(true);
          buttonQuitter.setSelectedIcon(new ImageIcon(App.class.getResource("/ap/s/tn/img/btn2.PNG")));
          buttonQuitter.setFocusPainted(false);
          buttonQuitter.setContentAreaFilled(false);
          buttonQuitter.setBorderPainted(false);
          buttonQuitter.setBounds(618, 420, 144, 41);
          add(buttonQuitter);
  
          JMenuReseau();
          JMenuItemRegion();
          JMenuDemandes();
  
          JRadioButtonMenuItemNinstallation();
          JRadioButtonMenuItemTransfaire();
  
  
  
          JLabel lblLoginApplicationFta = new JLabel("Region application ACTEL");
          lblLoginApplicationFta.setFont(new Font("Segoe Print", Font.BOLD, 16));
          lblLoginApplicationFta.setForeground(new Color(255, 0, 0));
          lblLoginApplicationFta.setBounds(6, 6, 229, 28);
          add(lblLoginApplicationFta);
  
          JLabel lblslectionnerUnGouvernorat = new JLabel("&lt;html&gt;&lt;font color='#09024D'&gt;S\u00E9lectionner un gouvernorat&lt;/font&gt;&lt;/html&gt;");
          lblslectionnerUnGouvernorat.setFont(new Font("SansSerif", Font.PLAIN, 18));
          lblslectionnerUnGouvernorat.setBounds(54, 107, 242, 25);
          add(lblslectionnerUnGouvernorat);
  
          comboBox_gouver = new JComboBox&lt;String&gt;();
          comboBox_gouver.setModel(new DefaultComboBoxModel&lt;String&gt;(new String[] {"---------------------"}));
          afficherLISTE_REGION();
          comboBox_gouver.setBounds(323, 106, 118, 26);
          comboBox_gouver.addActionListener(new ActionListener() {
  
              public void actionPerformed(ActionEvent e) {
                    selectedIndexR = comboBox_gouver.getSelectedIndex();
                    selectedIndexA = comboBox_ACTELS.getSelectedIndex();
  
                  if(selectedIndexR == 0) {
                      comboBox_ACTELS.setModel(new DefaultComboBoxModel&lt;String&gt; (new String[] {"---------------------"}));
                      comboBoxVille.setModel(new DefaultComboBoxModel&lt;String&gt;(new String[] {"---------------------"}));
                      }
                  else{  
                        afficherLISTE_ACTEL_PAR_REGION();
                       }
              }
          });
          add(comboBox_gouver);
  
          comboBox_ACTELS = new JComboBox&lt;String&gt;();
          //comboBox_ACTELS.setRenderer(new MyComboBoxRenderer());
          //comboBox_ACTELS.setEditor(new MyComboBoxEditor());
          comboBox_ACTELS.setModel(new DefaultComboBoxModel&lt;String&gt;(new String[] {"---------------------"}));
          comboBox_ACTELS.setBounds(323, 134, 118, 26);
          comboBox_ACTELS.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e2) {
          int indexA = comboBox_ACTELS.getSelectedIndex(); 
              if(indexA == 0){
                  comboBoxVille.setModel(new DefaultComboBoxModel&lt;String&gt;(new String[] {"---------------------"}));
              }
              else{   
                       afficherLISTE_VILLE_PAR_ACTEL();
                  }   
              }
          });
  
          JLabel lblchoixActels = new JLabel("&lt;html&gt;&lt;font color='#09024D'&gt;Choix ACTELS&lt;/font&gt;&lt;/html&gt;");
          lblchoixActels.setFont(new Font("SansSerif", Font.PLAIN, 18));
          lblchoixActels.setBounds(54, 139, 133, 16);
          add(lblchoixActels);
          add(comboBox_ACTELS);
  
          JLabel lblville = new JLabel("&lt;html&gt;&lt;font color='#09024D'&gt;Ville&lt;/font&gt;&lt;/html&gt;");
          lblville.setFont(new Font("SansSerif", Font.PLAIN, 18));
          lblville.setBounds(54, 170, 42, 16);
          add(lblville);
  
          comboBoxVille = new JComboBox&lt;String&gt;();
          comboBoxVille.setBounds(323, 165, 118, 26);
          comboBoxVille.setModel(new DefaultComboBoxModel&lt;String&gt;(new String[] {"---------------------"}));
          add(comboBoxVille);
  
          progressBar = new JProgressBar();
          progressBar.setBounds(54, 198, 154, 19);
          progressBar.setVisible(false);
          add(progressBar);
  
          StandardButton button = new StandardButton("OK", Theme.GLOSSY_BLUE_THEME);
          button.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                   App.cl_conteneurPaneau.show(App.conteneurPaneau, "panelAccueilACTEL");
  
                   int indexRegion = comboBox_gouver.getSelectedIndex();
                   int indexActel = comboBox_ACTELS.getSelectedIndex();
                   int indexVille = comboBoxVille.getSelectedIndex();
  
                   String region = comboBox_gouver.getSelectedItem().toString();
                   String ville = comboBoxVille.getSelectedItem().toString();
  
                          if((indexRegion==0)&amp;&amp;(indexActel==0)&amp;&amp;(indexVille==0)){
                              labelR1.setText("selectioner tout champs");
                          }
                          else if((indexActel==0)&amp;&amp;(indexVille==0)){
                              labelR1.setText("selectioner tout champs");
                          }
  
                          else{    
                                    action();  
                                    labelR1.setForeground(new Color(0, 128, 0));
                                    labelR1.setText("region :  "+region);
                                    region = comboBox_gouver.getSelectedItem().toString();
                                    ville = comboBoxVille.getSelectedItem().toString();
  
                                    PanelAccueilACTEL.getLabelR().setText("&lt;html&gt;&lt;body&gt;&lt;b&gt;Region: "+region+"&lt;/b&gt;&lt;/body&gt;&lt;/html&gt;");
                                    PanelAccueilACTEL.getLabelV().setText("&lt;html&gt;&lt;body&gt;&lt;b&gt;*Ville: "+ville+"&lt;/b&gt;&lt;/body&gt;&lt;/html&gt;");
  
                                    remplir_code_postal();
                                    remplir_numero();
                                    remplir_type_voie();
                               }
              }
              });
          button.setActionCommand("OK");
          button.setBounds(54, 250, 80, 28);
          add(button);
  
          ImageIcon icon = new ImageIcon(getClass().getResource("/tn/pack/image/cadre-rg.png"));
          Image zoom = scaleImage(icon.getImage(), 934);
          Icon iconScaled = new ImageIcon(zoom);
  
          labelR1 = new JLabel("");
          labelR1.setBounds(250, 258, 133, 14);
          add(labelR1);
  
          JLabel cadre = new JLabel(iconScaled);
          cadre.setIcon(new ImageIcon(PanelLoginACTEL.class.getResource("/tn/pack/image/cadre-rg.png")));
          cadre.setBounds(6, 70, 486, 305);
          add(cadre);
  
          JLabel arrirePlan = new JLabel("");
          arrirePlan.setIcon(new ImageIcon(PanelRegionlACTEL.class.getResource("/ap/s/tn/img/bot.png")));
          arrirePlan.setBounds(0, 0, 803, 534);
          add(arrirePlan);
  
      }
  
      public void remplir_type_voie() {
          List&lt;Resedence&gt; listeTypeVoie = fonctionDAO.afficherLISTE_TYPE_VOIE(resedenceService);
          for(Resedence resedence:listeTypeVoie) {
              PanelNouvelleInstallation.comboBox_typeVoie.addItem(resedence.getType_voie());
              PanelDemandeTransfertACTEL.comboBox_typeVoieA.addItem(resedence.getType_voie());
              PanelDemandeTransfertACTEL.comboBox_typeVoieN.addItem(resedence.getType_voie());
            }
      }
  
      public void remplir_code_postal() {
          PanelNouvelleInstallation.textField_codepostal.setText(getcodePostal()+"");
          PanelDemandeTransfertACTEL.textField_codepostalA.setText(getcodePostal()+"");
          PanelDemandeTransfertACTEL.textField_codepostalN.setText(getcodePostal()+"");
      }
  
      protected void afficherLISTE_VILLE_PAR_ACTEL() {
          try {
                  comboBoxVille.removeAllItems();
                  String nom_actel = comboBox_ACTELS.getSelectedItem().toString();
                  int id_actel = fonctionDAO.afficherID_ACTEL_PAR_NOM_ACTEL(atlService, nom_actel);
                  List&lt;String&gt; listeVille= fonctionDAO.afficherLISTE_VILLE_PAR_ACTEL(villeService, id_actel);
                  for(String lv:listeVille) {
                      comboBoxVille.addItem(lv);
                        }
            } catch (Exception e1) {
                System.out.println("Erreur SELECT ville");
          }  
      }
  
      protected void afficherLISTE_ACTEL_PAR_REGION() {
                   comboBox_ACTELS.setModel(new DefaultComboBoxModel&lt;String&gt; (new String[] {"---------------------"}));
                   comboBoxVille.setModel(new DefaultComboBoxModel&lt;String&gt;(new String[] {"---------------------"}));
                   List&lt;String&gt; listeActel= fonctionDAO.afficherLISTE_ACTEL_PAR_REGION(atlService, comboBox_gouver.getSelectedIndex()+49);
                    for(String la:listeActel) {
                        comboBox_ACTELS.addItem(la);
                        }
      }
  
      private void afficherLISTE_REGION() {
          List&lt;Region&gt; listeRegion= fonctionDAO.afficherLISTE_REGION(rgService);
            for(Region lr:listeRegion) {
                   comboBox_gouver.addItem(lr.getNom_region());
                }
      }
  
      private void JRadioButtonMenuItemTransfaire() {
      }
  
      private void JRadioButtonMenuItemNinstallation() {
      }
  
  
      private void JMenuDemandes() {
      }
  
      private void JMenuItemRegion() {
  
      }
  
      private void JMenuReseau() {
      }
  
       void action() { 
           new Thread(new Runnable() { 
               public void run() {
                   try {
                       progressBar.setValue(value);
                       value++;
                       Thread.sleep(15);
                       } 
                   catch (InterruptedException ex) {ex.printStackTrace();}
  
               if (progressBar.getPercentComplete() == 1.0) {
                   tr=true;
                   }
  
               else { tr=false;
                   action();}
  
               }
               }).start(); 
  
           }
  
       public int remplir_numero() {  
              String ville = comboBoxVille.getSelectedItem().toString();
              Listnumero.listModel.removeAllElements();
              PanelAffectationNumero.comboBox_choixN.removeAllItems();
              PanelAffectationNumero.comboBox_choixN.setEnabled(false);
  
              List&lt;Numero&gt; listeNum = fonctionDAO.afficherLISTE_NUMERO(numeroService, fonctionDAO.afficherID_VILLE_PAR_NOM_VILLE(villeService, ville));
              if(listeNum!=null){
              for(Numero ln:listeNum) {
                  Listnumero.listModel.addElement(ln.getPlage_numero()+"");
                }
              return 1;
              }
              else{
              return 0;
              }
          }
  
         /* public int remplir_resedence(){
              PanelNouvelleInstallation.comboBoxResedence.setModel(new DefaultComboBoxModel&lt;String&gt;(new String[] {"-----------"}));
              String nom_ville = comboBoxVille.getSelectedItem().toString();
              List&lt;Ville&gt; listeVille = fonctionDAO.afficherRESEDENCE_PAR_NOM_VILLE(villeService, nom_ville);
              if(listeVille!=null){
               for(Ville lv:listeVille) {
                   PanelNouvelleInstallation.comboBoxResedence.addItem(lv.getResedence());
                }   
               return 1;
              }
              else{
              return 0;
              }
          }*/
  
         /* public void remplir_voie(){
              int indextvoie= PanelNouvelleInstallation.comboBoxTypeVoie.getSelectedIndex();
              String type_voie =  PanelNouvelleInstallation.comboBoxTypeVoie.getSelectedItem().toString();
              String nom_ville = PanelRegionlACTEL.comboBoxVille.getSelectedItem().toString();
  
                 if(indextvoie == 0){
                     PanelNouvelleInstallation.comboBoxVoie.setModel(new DefaultComboBoxModel&lt;String&gt;(new String[] {"----------------"}));
                      }
  
                 else{
                         PanelNouvelleInstallation.comboBoxVoie.setModel(new DefaultComboBoxModel&lt;String&gt;(new String[] {"----------------"}));
                         List&lt;Ville&gt; listeVille = fonctionDAO.afficherVOIE_PAR_NOM_VILLE(villeService, nom_ville, type_voie);
                         if(listeVille!=null){
                                 for(Ville lv: listeVille){
                                     PanelNouvelleInstallation.comboBoxVoie.addItem(lv.getVoie());
                                 }
                         }
                     }
      }*/
  
          public int getcodePostal() {    
              String nom_actel = comboBox_ACTELS.getSelectedItem().toString();
              String nom_ville = comboBoxVille.getSelectedItem().toString();
              return fonctionDAO.afficherCODEP_PAR_NOM_VILLE(villeService, fonctionDAO.afficherNUM_ACTEL_PAR_NOM_ACTEL(atlService, nom_actel)+50, nom_ville);
          }
  
          public JButton getOkButton() {
              return okButton;
          }
  
          public void setOkButton(JButton okButton) {
              this.okButton = okButton;
          }
  
          public JButton getCancelButton() {
              return cancelButton;
          }
  
          public void setCancelButton(JButton cancelButton) {
              this.cancelButton = cancelButton;
          }
  
          public static Image scaleImage(Image source, int width, int height) {
              BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
              Graphics2D g = (Graphics2D) img.getGraphics();
              g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
              g.drawImage(source, 0, 0, width, height, null);
              g.dispose();
              return img;
          }
  
  
  
          //avec une taille en pixels (=hauteur si portrait, largeur si paysage):
          public static Image scaleImage(Image source, int size) {
              int width = source.getWidth(null);
              int height = source.getHeight(null);
              double f = 0;
              if (width &lt; height) {//portrait
                  f = (double) height / (double) width;
                  width = (int) (size / f);
                  height = size;
              } else {//paysage
                  f = (double) width / (double) height;
                  width = size;
                  height = (int) (size / f);
              }
              return scaleImage(source, width, height);
          }
  }
  </code></pre>