Public classEffecttest extends Application { Public Static voidMain (string[] args) {launch (args); } @Override Public voidStart (stage stage) {Stage.settitle ("Comboboxsample"); Scene Scene=NewScene (NewGroup (), the, -); ComboBox Emailcombobox=NewComboBox (); Emailcombobox.getitems (). AddAll ("A","B","C","D","E"); Emailcombobox.setprompttext ("Email Address"); Emailcombobox.seteditable (true); Emailcombobox.valueproperty (). AddListener (NewChangelistener<string>() {@Override Public voidchanged (Observablevalue ov, string T, string t1) {System. out. println (ov); System. out. println (t); System. out. println (t1); } }); Emailcombobox.setcellfactory (NewCallback<listview<string>, listcell<string>>() {@Override PublicListcell<string> Call (listview<string>param) {Final Listcell<String> cell =NewListcell<string>() {{Super.setprefwidth ( -); } @Override Public voidUpdateItem (String item, Boolean empty) {Super.updateitem (item, EM PTY); if(Item! =NULL) {SetText (item); if(Item.contains ("A") {Settextfill (color.red); } Else if(Item.contains ("B") {Settextfill (color.green); } Else{Settextfill (color.black); } } Else{SetText (NULL); } } }; returncell; } }); Gridpane Grid=NewGridpane (); Grid.setvgap (4); Grid.sethgap (Ten); Grid.setpadding (NewInsets (5,5,5,5)); Grid.add (NewLabel ("To :"),0,0); Grid.add (Emailcombobox,1,0); Group Root=(Group) scene.getroot (); Root.getchildren (). Add (grid); Stage.setscene (Scene); Stage.show (); } }
JavaFX ComboBox Event and change cell color