2016-12-26 4 views
1

Änderungen I 3 ToggleGroups, die ich mit einem TextField befestigen muß, so dass die Anzeige TextField die entsprechende Zahl jedesmal, wenn die ToggleGroup Eigenschaft ändert. zuerst habe ich einen Zuhörer zu jedem ToggleGroup als das addiertejavafx Wechsel textfield Wert, wenn Toggle Gruppe

int f; //to calculate the first property condition 
group1.selectedToggleProperty().addListener((v, oldValue, newValue) -> { 
     if (group1.getSelectedToggle() != null) { 
      //call a method which test the radioButtons to give the value to each one 
      f = testChoix(rdF1, rdF2, rdF3, rdF4); 
     } 
    }); 

dann habe ich einen Zuhörer zum TextField hinzugefügt

txtCriticite.textProperty().addListener((observable, oldValue, newValue) -> { 
     calculCriticite();//method to calculate 
    }); 

//method to calculate the textField Value 
public void calculCriticite() { 
    int c = f * g * d; 
    txtCriticite.setText(String.valueOf(c)); 
} 

wenn auf dem RadioButtons Kompilieren und klicken, sehe ich nicht, beliebiger Text in meinem TextField

Antwort

1

Ändern Sie nicht den Text Ihres TextField innerhalb des Hörers der TextField, dies kann zu Problemen führen. Rufen Sie stattdessen Ihre calculCriticite() Methode aus dem ToggleGroup Listener auf, dies sollte funktionieren.

+1

vielen dank @ user7291698, es funktioniert – devhicham

Verwandte Themen