2017-07-02 3 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); 
      }}} 
    } 

Es Läuft Das erste Mal während der Rahmen geladen, aber wenn ich die secound Eintrages es gibt Fehler michEs Läuft Das erste Mal während der Rahmen geladen, aber wenn ich die secound Eintrages es gibt mir Fehler

+5

Und was ist der Fehler? Können Sie den StackTrace in Ihrem Post anzeigen? – DevilsHnd

Antwort

0

Sobald Sie gelten removeAllItems dann gibt es kein Element in Combo-Box

so getSelectedItem intern verwenden, um die Funktion, die ComboBoxModel getSelectedItem

das ausgewählte Element oder null, wenn die zustände re keine Auswahl ist

obwohl oracle docs sagt nicht alles über die Rückkehr null

Lösung: Sie erhalten null und toString() in null führen, dass Sie die Nullpointer Ausnahme, so stellen Sie sicher, dass Sie einige Einzelteile haben, wenn Sie anrufen oder getSelectedItem setzen Sie einen Nichtigkeitscheck

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