Change TextField Value based on a combination of Comboboxes selection JavaFX and Java 1.7 -


i have multible comboboxes, based on section of combobox combination set value of textfield. example have fruit type order form, need 1) select fruit's type 2) fruit's count. set textfield accordingly type , count. here example.

public class fruitsordercontroller implements initializable {      @fxml     private combobox fruittypebox, fruitcountbox ;     @fxml     private textfield fruitorder;       observablelist<string> fruittypelist = fxcollections.observablearraylist("apples", "oranges");     observablelist<integer> applescountlist = fxcollections.observablearraylist(5,6,7);     observablelist<integer> orangescountlist = fxcollections.observablearraylist(1,2,3);      @override     public void initialize(url url, resourcebundle rb) {         fruittypebox.setitems(fruittypelist);         fruittypebox.setvalue("oranges");         fruitcountbox.setitems(orangescountlist);         fruitcountbox.setvalue(3);     }     @fxml     public void fruitorder(){         if (fruittypebox.getvalue().equals("apples")){             fruitcountbox.setitems(applescountlist);             fruitcountbox.setvalue(7);          }          if (fruittypebox.getvalue().equals("oranges")){             fruitcountbox.setitems(orangescountlist);             fruitcountbox.setvalue(3);         }       }   } 

now, made following selection 1) fruits type = oranges 2) fruits count 3 , want change textfiled reflect choice demonstrated in image below.
enter image description here

if want listen changes in subcombobox add listener this:

subcombobox.getselectionmodel().selecteditemproperty().addlistener(new changelistener<string>() {   @override public void changed(observablevalue<? extends string> selected, string oldselect, string newselect) {     if (oldselect != null) {       switch(oldselect) {         case "abc": textfield.settext("abc");  break;         case "def": textfield.settext("def"); break;         //....       }     }     if (newselect != null) {       switch(newselect) {case "abc": textfield.settext("abc");  break;         case "def": textfield.settext("def"); break;       }     }     } }); 

Comments