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.
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
Post a Comment