2017-07-02 4 views
-1
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {           

     jComboBox1.revalidate(); 
     jComboBox2.removeAllItems(); 
     jComboBox3.removeAllItems(); 
     jComboBox4.removeAllItems(); 
     String b1=jComboBox1.getSelectedItem().toString(); 
     String bb=this.branch; 
     String y1=this.year; 
      if(y1!=null){ 
       String[] b=y1.split(";"); 
       System.out.println(y1); 
       System.out.println(b1); 
       int size=b.length; 
       System.out.println(size); 
       for(int i=0;i<size;i++){ 
       if(b[i].matches("(?i).*"+b1+".*")){ 
        System.out.println(b[i]); 
       jComboBox2.addItem(b[i].replaceAll(":","").replaceAll(b1.toLowerCase(), "")); 
      jComboBox2ActionPerformed(evt); 
      }}} 
    } 

Il exécute première fois lors du chargement du cadre mais quand je choisis l'élément secound il me donne l'erreurIl exécute première fois lors du chargement du cadre mais quand je choisis l'élément secound il me donne l'erreur

+5

Et quelle est l'erreur? Pouvez-vous afficher la pile dans votre message? – DevilsHnd

Répondre

0

Une fois que vous appliquer removeAllItems alors il n'y a pas de produit dans la liste déroulante

si getSelectedItem utiliser en interne la fonction ComboBoxModel getSelectedItem qui indique

l'élément sélectionné ou une valeur nulle si le re a pas de sélection

bien oracle docs ne dit pas quoi que ce soit sur la solution nulle

retour: vous obtenez null et toString() à null parce que vous l'exception NullPointer alors assurez-vous que vous avez des éléments lorsque vous appelez getSelectedItem ou mettre un test de nullité

String b1=jComboBox1.getSelectedItem()!=null ? jComboBox1.getSelectedItem().toString(): "";