Mod.Dialog reagiert n.auf ActionListener seiner Komponenten

Status
Nicht offen für weitere Antworten.

#50

Mitglied
Hi!

Ich habe einen modalen Dialog, welcher zwei Comboboxen beinhaltet. Sobald aus der ersten Combobox was ausgewählt wird, werden von der Auswahl abhängige Werte in die 2.Combobox geschrieben. Dort muß der User dann wieder was auswählen.

Nun zum Problem: der Dialog bzw. die 1.Combobox reagiert nicht auf den ActionListener. Setze ich den Dialog auf nicht modal, dann funktioniert alles bestens.


Code:
public class cProductDataSelectionDialog {
 JComboBox ComboBox1 = new JComboBox();
 JComboBox ComboBox2 = new JComboBox();

 public cProductDataSelectionDialog(final cgui pcguiParent, String psDialogTitle, boolean pbDialogModal) {
  JDialog myDialog = new JDialog(pcguiParent, psDialogTitle, pbDialogModal);
  JPanel Panel = new JPanel();
  Panel.setLayout(new GridLayout(2,1));
  Panel.add(ComboBox1);
  Panel.add(ComboBox2);
  cbxDBList.setEnabled(true);
  myDialog.add(Panel);
  myDialog.setVisible(true);
  /* Wertebefüllung ComboBox1 weggelassen */
}

 cbxDBList.addItemListener(new ItemListener(){
  public void itemStateChanged(ItemEvent arg0) {
   if (arg0.getStateChange() == ItemEvent.SELECTED){
    System.out.println("Aus ComboBox1 wurde ausgewählt");
   }
  }
 }
}


Hat jmd. eine Idee, wieso der ActionListener non-modal reagiert und modal nicht?

Danke & Gruß


#50
 
Danke, das wars!

Schon übel, daß in dem Moment des setVisible das ganze Objekt gesperrt ist und ich den Listener tatsächlich vorher erwähnen muß. Wäre der Vaterframe gesperrt, verstünde ich das Ganze ja noch, aber so finde ich das etwas kurios. Danke nochmals!

Gruß

#50
 
#50 hat gesagt.:
Schon übel, daß in dem Moment des setVisible das ganze Objekt gesperrt ist und ich den Listener tatsächlich vorher erwähnen muß. Wäre der Vaterframe gesperrt, verstünde ich das Ganze ja noch, aber so finde ich das etwas kurios. Danke nochmals!
Du kannst dich glücklich schätzen das es genau so funktioniert, asynchrone Eingaben zu Verarbeiten ist oft nämlich gar nicht witzig. Ein Objekt wird übrigens nicht 'gesperrt', sondern setVisible gibt den Kontrollfluss erst dann zurück, wenn der Dialog zu geht.
 
Ok, ich bin glücklich! 🙂 Danke Mr. Wildcard, da hätte ich wohl ewig weitersuchen können. Stimmt schon mit der asynchronen Verarbeitung! Du bist mein Held des Tages für die Antwort! Danke!! 🙂

#50
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben