java - Alert message for oversteping maximum integer in spinner -


anzahlled.setvaluefactory(new spinnervaluefactory.integerspinnervaluefactory(1, 3, 1));         changelistener<integer> ledlistener = new changelistener<integer>() {             @override             public void changed(observablevalue<? extends integer> observable, integer oldvalue, integer newvalue) {                 if (newvalue == 1 && oldvalue == 2) {                     secondledcombo.setdisable(true);                     secondledtextuf.setdisable(true);                     secondledtextif.setdisable(true);                     if (schaltung.getselectionmodel().getselecteditem().equals("parallelschaltung")) {                         //                     } else if (schaltung.getselectionmodel().getselecteditem().equals("reihenschaltung")) {                         secondledtextuf.settext(null);                         secondledtextif.settext(null);                     }                 }                 if (newvalue == 2 && oldvalue == 1) {                     secondledcombo.setdisable(false);                     secondledtextuf.setdisable(false);                     if (schaltung.getselectionmodel().getselecteditem().equals("parallelschaltung")) {                         secondledtextif.setdisable(false);                     } else if (schaltung.getselectionmodel().getselecteditem().equals("reihenschaltung")) {                         secondledtextif.settext(firstledtextif.gettext());                     }                 }                 if (newvalue == 2 && oldvalue == 3) {                     thirdledcombo.setdisable(true);                     thirdledtextuf.setdisable(true);                     thirdledtextif.setdisable(true);                     if (schaltung.getselectionmodel().getselecteditem().equals("parallelschaltung")) {                         //                     } else if (schaltung.getselectionmodel().getselecteditem().equals("reihenschaltung")) {                         secondledtextif.setdisable(true);                         thirdledtextuf.settext(null);                         thirdledtextif.settext(null);                     }                 }                 if (newvalue == 3 && oldvalue == 2) {                     thirdledcombo.setdisable(false);                     thirdledtextuf.setdisable(false);                     if (schaltung.getselectionmodel().getselecteditem().equals("parallelschaltung")) {                         thirdledtextif.setdisable(false);                     } else if (schaltung.getselectionmodel().getselecteditem().equals("reihenschaltung")) {                         thirdledtextif.settext(firstledtextif.gettext());                     }                 }             }         };        

i have problem want have message if want go 3 4. can see, have 1, 2,3 in spinner. want alert pops when user tries choose 4. idea change maximum 4 , check , decrement number again while creating alert. doesn't work, because decrementing triggers listener before changing, , have endless loop.

can tell me how can have pop alert when try choose 4?

this isn't robust, can use lookup increment button, , register listener it. if register event filter mouse pressed, catches before value changed.

import javafx.application.application; import javafx.scene.scene; import javafx.scene.control.alert; import javafx.scene.control.spinner; import javafx.scene.control.alert.alerttype; import javafx.scene.input.mouseevent; import javafx.scene.layout.stackpane; import javafx.stage.stage;  public class spinnertest extends application {      @override     public void start(stage primarystage) {         spinner<integer> spinner = new spinner<>(1, 3, 1);         scene scene = new scene(new stackpane(spinner), 180, 80);          spinner.applycss();         spinner.lookup(".increment-arrow-button").addeventfilter(mouseevent.mouse_pressed, e -> {             if (spinner.getvalue().intvalue() == 3) {                 alert alert = new alert(alerttype.information);                 alert.setcontenttext("maximum 3");                 alert.showandwait();             }         });          primarystage.setscene(scene);         primarystage.show();       }      public static void main(string[] args) {         launch(args);     } } 

Comments

Popular posts from this blog

java - pagination of xlsx file to XSSFworkbook using apache POI -

Unlimited choices in BASH case statement -

apache - How do I stop my index.php being run twice for every user -